链表的初始化,请指点
数据结构中关于线性的链式操作始终看不明白,请各位能够多多指点(谢谢了);具体是这样的:
typedef struct Node
{
DataType data;
struct Node *next ;
}SLNode;
在书上它是这样初始化单链表的,我一直不明白这是为何:
void ListInitiate (SLNode **head) //链表的初始化
{
if(*head= (SLNode *)malloc(sizeof(SLNode))== NULL)
exit(1);
(*head->next = NULL);
}
为什么要将头指针定义为指向指针的指针呢,这样定义不行吗??
void ListInitiate (SLNode *head) //链表的初始化。
{
if(head= (SLNode *)malloc(sizeof(SLNode))== NULL)
exit(1);
(head->next = NULL);
}
小弟初学,请能指点;可能是我的基础不好,真的已经看了好久也没有看出原因,请大家指点一下。