这个结构体定义中中间那个指针为什么名字和结构名一样?有什么意义么?

typedef struct SNAKE //蛇身的一个节点{ int x; int y; struct SNAKE *next;}snake;
2025-03-10 08:15:26
推荐回答(1个)
回答1:

这是链表的基本结构,表示当前结构体有一个指向同样结构体的指针,这样每个结构体都可以指向后一个结构体,同时也被前一个结构体指向,形成一个链状结构。如果不形象的话,想象一下幼儿园小朋友过马路,一个拉着前一个的衣摆,一个个小朋友就是同样的结构体(人)声明的多个变量,他们都通过自己的手(指针)拉住(指向)另一个小朋友(人),同时自己也被别的小朋友(人)拉住(指向)