解释链表以下语句的意思

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:14:58
我是新手,不太清楚这些句子的意思.
请高手们指教.
NODE *creat(NODE *head,int x, int y,int z)
{
NODE *p,*q;
p=(NODE *)malloc(sizeof(NODE));
head=p;
p->data=x;
q=(NODE *)malloc(sizeof(NODE));
p->data=y;
q=(NODE *)malloc(sizeof(NODE));
p->link=q;
p=q;
p->data=z;
p->link=NULL;
return (head);
}

NODE *p,*q; -结构指针
p=(NODE *)malloc(sizeof(NODE)); 分配结构体字节的内存
head=p;头指针指向了p
p->data=x;向P所指向的data赋值
p->link=q; p-link指针指向了q
p=q; p跑到了q的内存空间里去了
p->link=NULL; 结束链表
return (head);返回头指针~~为什么要返回头指针
你看head=p;指针p是链表的头节点