小编Unr*_*rdo的帖子

C 结构列表不兼容的指针类型

我正在尝试处理如下定义的结构列表:

typedef struct {
    item_s item;
    struct node_s *next;
} node_s;
Run Code Online (Sandbox Code Playgroud)

当我尝试这样做时:

...
node_s *newnode = malloc(sizeof(node_s));
node_s *newnode = malloc(sizeof(node_s));

head->next = newnode
Run Code Online (Sandbox Code Playgroud)

它给出了这个错误:“从不兼容的指针类型'node_s *'[-Win兼容指针类型]分配给'struct node_s *'”似乎“struct node_s *”是与指向结构的指针不同的指针类型定义为“node_s *”。我有点困惑。

我尝试将结构内的“下一个”指针定义为“node_s *”,但正如我所期望的那样,它不起作用,因为结构 node_s 本身尚未定义。

c pointers list

2
推荐指数
1
解决办法
72
查看次数

标签 统计

c ×1

list ×1

pointers ×1