typedef struct node
{
int n;
struct node* next;
}
node;
Run Code Online (Sandbox Code Playgroud)
在上面的代码struct node* next里面有struct node.我不明白它的含义.
在代码
struct node* next里面有struct node.我不明白它的含义.
说明:
甲节点是用于指一个通用术语自参照结构.(点击链接了解更多)
按照定义,
甲自参照结构是一个典型的结构,其定义具有一个或多个其作为指针到它自己的类型成员的.
在你的代码next中,struct node这是一个结构的成员,它是一个指向它自己类型的指针,因此你在结构内部以这种方式将它看作指向它自身的指针:
struct node* next;
这就是struct关键字在struct中使用的原因
使用自引用结构的目的:
自引用结构非常有助于构建数据结构,例如链表 ......事实上,变量next是在链表中的节点之间建立链接时非常有用的成员 :)