版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
定义LinkList L;
则L为链表的头指针。
L=(LinkList) malloc (sizeof(LNode)); //创建一个结点
此处返回给L的是一个指针,并且赋给了头指针
L->next=null; //这里说明我创建了一个头结点,即同时运用了头指针和头结点,不过感觉头结点用处不大,所以一般还是不用最好。
假设L是LinkList型变量,则L为单链表的头指针,它指向表中的第一个结点(node[0])。若L为空(L=NULL),则所表示的链表为“空”表,其长度n为0。有时我们在单链表的第一个结点之前设一个结点,称为头结点。头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等类的附加信息,头结点的指针域存储指向第一结点的指针(即第一个元素结点的存储位置)。
如下图所示,单链表的头指针指向头结点。若线性表为空表,则头结点的指针域为空。
由于有个童鞋问了个问题,所以在这里插入一些话: (头指针和头结点的疑问)
链表里有“头指针”变量,它存放一个地址,该地址指向一个元素。