0
 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:“节点”:在“=”之前没有声明变量

需要帮忙

4

2 回答 2

3

You can't give structure members predefined values in C. Use a constructor-like function or a constructor-like macro.

于 2012-04-24T17:07:35.487 回答
1

typedef(或结构)“语句”定义了一个类型,而不是一个对象。

类型没有价值。只有谈论与对象相关的价值才有意义。

对象没有默认值(0隐式初始化除外)。

所以你不能做你想做的事。

于 2012-04-24T17:14:28.857 回答