标题:关于C语言数据结构单链表初始化的问题
取消只看楼主
EricZhan
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2010-7-9
结帖率:86.67%
已结贴  问题点数:10 回复次数:1 
关于C语言数据结构单链表初始化的问题
这是我在书上看到的例子:
typedef struct
{
    DateType date;
    struct Node *next;
}*Linklist;

void InitList(LinkList *head)
/*将单链表初始化为空。动态生成一个头结点,并将头结点的指针域置为空。*/
{
    if((*head=(LinkList)malloc(sizeof(ListNode)))==NULL)        /*为头结点分配一个存储空间*/
        exit(-1);
    (*head)->next=NULL;                /*将单链表的头结点指针域置为空*/
}
我不明白这里为什么要用二级指针LinkList *head.
这样不可以吗?
void InitList(LinkList head)
/*将单链表初始化为空。动态生成一个头结点,并将头结点的指针域置为空。*/
{
    if((head=(LinkList)malloc(sizeof(ListNode)))==NULL)        /*为头结点分配一个存储空间*/
        exit(-1);
    head->next=NULL;                /*将单链表的头结点指针域置为空*/
}

教材说”因为单链表操作用需要修改头指针,所以要用二级指针初始化“。我还不明白这句话。
求高手指点。最好能像未命名的图片一样描述一下,之后发送到我的邮箱s461934079@
拜托了,我想了好久都不明白这个问题
未命名.zip (3.36 KB)


[ 本帖最后由 EricZhan 于 2010-8-20 08:43 编辑 ]
搜索更多相关主题的帖子: 数据结构 C语言 单链 
2010-08-20 08:23
EricZhan
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2010-7-9
得分:0 
回复 2楼 wwqiu
你的意思是不是在创建的空间前面再创建一个head指针,指向这个空间?
2010-08-21 08:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-316284-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.903706 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved