C Global Struct: "error: expected expression before '{' token"

C Global Struct: "error: expected expression before '{' token"

如何在函数中初始化全局结构?我的代码无法编译并出现以下错误:

expected expression before ‘{’ token
gameState = {0, *emptyBoard};`
            ^

以下是我的代码的相关部分:

typedef struct {
    int turn;
    char board [6][7];
} GameState;

GameState gameState;

int main(void) {
    char emptyBoard[6][7];
    gameState = {0, *emptyBoard};
    return 0;
}

char emptyBoard[6][7]; 不是空板;这是一块未初始化的字符板。要制作一个空板,请将 = { 0 }; 放在声明的末尾——尽管如果您的意图只是清除 gameState.

,则整行毫无意义

gameState 已经零初始化,因为它是一个全局变量,所以您实际上不必在 main 中写任何东西来重新初始化它。

如果您想稍后将其重置为零,您可以这样写:

gameState = (GameState){0};