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 语言有个规则,声明、定义在前,使用在后。
不知道你这个问题是否已经解决, 如果还没有解决的话: