typedef struct Node{
int x;
int y;
struct Node* next;
}Node;
我希望以这种方式在主“列表”中创建:
int main(){
Node list;
}
而不是这样:
int main(){
Node list = {1,2,NULL};
}
我想在struct的声明中初始化一个struct 试着这样:
typedef struct Node{
int x;
int y;
struct Node* next;
}Node = {1,2,NULL};
错误C2513:'节点':在'='之前没有声明变量
需要帮助
答案 0 :(得分:3)
您不能在C中为结构成员提供预定义值。使用类似构造函数的函数或类似构造函数的宏。
答案 1 :(得分:1)
typedef(或struct)“statement”定义一个类型,而不是一个对象。
类型没有价值。谈论与物体相关的价值只是有意义的。
对象没有默认值(隐式初始化时为0
除外)。
所以你不能做你想做的事。