struct List { List *next};这是什么写法?什么意思,应该怎么理解?

问题遇到的现象和发生背景

知道是一个结构体,但是,这里的 List *next,应该怎么理解呢?

问题相关代码,请勿粘贴截图

struct List { List *next};

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

结论:可以理解成结构体中的一个成员是指针,他的名称叫做 next,并且这个指针指向了另一个 List 类型的结构体。


分析:结构体由多种类型的成员变量融合组成,如 int,float,char,当然也包括指针,一个结构体占用了一整块连续的内存。提问中的写法主要用于创建链表,通过 next 这个指针去访问下一个结构体。


建议阅读书籍《深入理解计算机系统》的第三章第9节,就可明白。希望采纳。

next就指向下一个节点啊。这样前一个节点通过next指针就能找到下一个节点,从而形成“链条”,所以叫链表。