gpt4 book ai didi

c - 在c中为全局变量赋值会导致错误

转载 作者:行者123 更新时间:2023-11-30 18:54:49 46 4
gpt4 key购买 nike

我有以下代码:

struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
};


#define MAXSIZE 1024

typedef struct stack{
struct TreeNode volum[MAXSIZE];
int top;
}STACK;

STACK st;
st.top = -1;

/* other function definitions such as pop() and push() */

但是当我编译它时,它给出了错误第 18 行:在“.”标记之前预期有“=”、“,”、“;”、“asm”或“__attribute__”。其中第 18 行是 st.top=-1;

所以这里我需要初始化堆栈,即将顶部设置为-1。我也尝试在结构内部执行此操作: int top=-1; 但遇到了相同的错误。我想知道正确的做法是什么。提前致谢。

最佳答案

你可以试试

typedef struct stack {
int top;
struct TreeNode volum[MAXSIZE];
} STACK;

STACK st = { -1 }; // top has to be the first member of the struct

关于c - 在c中为全局变量赋值会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29584470/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com