如何在函数中初始化全局结构?我的代码没有编译并咳出以下错误:
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;
}
答案 0 :(得分:2)
char emptyBoard[6][7];
不是空板;它是一个未初始化角色的董事会。要制作一个空白的董事会,请在声明的最后添加= { 0 };
- 尽管如果你的目的只是为了清除gameState
,这一行毫无意义。
gameState
已经零初始化,因为它是一个全局变量,因此您实际上不必在main
中编写任何内容来重新初始化它。
如果你想稍后将其重置为零,你可以写:
gameState = (GameState){0};