我一直在想:
struct node
{
int data;
struct node *next;
}*head;
我相信* head变量是链表的第一个指针,但是为什么将其写在结构括号之外?为什么我需要在整个结构之外编写它?谁能回答,因为我在整个链表中迷失了方向。以及为什么如果它已经在整个“节点”结构中,那么我们需要用“结构节点”声明* next指针吗?
head
只是type的指针struct node*
。等效的声明是:
struct node
{
int data;
struct node *next;
};
struct node *head;
请注意,即使您没有声明要定义的结构类型的任何变量,也必须在右花括号后加上分号。
此语法的起源是struct是数据类型,而声明变量的方式是通过指定其数据类型和名称。确实,您可以执行以下操作:
struct {int a, b;} *variable;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句