关于单链表,有插入、删除、排序等很多操作,函数结束时,经常会用return head;来返回已经发生了改点的结点的值~~
return head; /*返回创建链表的头指针 */
---头指针就是指向链表的首地址,返回首地址就可以对联表进行相关操作,至于头指针里面有没有值,
看你自己放不放,无所谓的
----返回了头指针,就意味着返回了整个链表,可以被其他地方使用了。
----头指针一般数据域是没值的,但是返回头指针返回的是地址可不是数据域的值
----
单向链表的头指针永远指向链表的第一个元素,不能指向其它的位置~~~
你使用单向链表,是为了链式的存储数据的,如果你不记录起始位置的话,那你怎么去遍历这个链表。。。怎么去读取放在里面的数据。。。所以说,头指针永远都必须存在,-----首先要明白,头指针是一个指针,不是链表中的结点,头指针永远只能放头结点的地址,如果在头结点之前插入一个新的结点,此时要将这个新插入的加点的地址重新放入头指针中
-----首先头指针必须是对应数据结构的一个指针: typrdef struct Node { int data; struct Node *next; }node,*pnode; pnode head = (pnode)malloc(sizeof(node)); head->next = NULL; //初始化为空 这里的head就是头指针,头指针一般代表链表的名字,其数据域是没有意义的,当创建了一个新结点,头指针的next指向该结点,这个节点称为头结点。