链式存储结构的类型定义里使用typedef定义了struct之后定义指针next为什么依旧要加上struct?

typedef struct node

DataType data;
struct node* next;//请问这里为什么不直接用node*next而还要加上一个struct呢?


typedef struct node
{
DataType data;
struct node* next;
}node

因为你typedef 重命名是结构体走到最后面才生效,走到struct node* next时;这里编译器不知道你定义了这个。

struct node,两个合在一起才是类型

C 语言有个规则,声明、定义在前,使用在后。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^