问题在最后面,问问链队列的定义问题

typedef struct QueueNode
{
ElemType data;
struct QueueNode *next;
}
主要想问问struct QueueNode *next;这句话为啥子是这样的,不能直接QueueNode *next;呀?
毕竟定义的时候写了typedef不是引用的时候可以直接省掉struct嘛?想问问为啥呀

这个其实是定义是否生效的问题,正常必须加struct的,而这个是嵌套定义的,所以得加这个struct,否则就是语法错误,可以具体上机尝试一下。


typedef struct QueueNode
{
    ElemType data;
   struct QueueNode *next;
}Queuenode;

typedef 定义别名在后,也是语法要求,没有为什么。

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

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