如何在函数内初始化全局结构?我的代码无法编译,并出现以下错误:
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};
关于c - C Global Struct:“错误:'{' token 之前的预期表达式”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28079294/