| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 374 人关注过本帖
标题:纠结了一个问题------------↓
只看楼主 加入收藏
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:4 
纠结了一个问题------------↓
程序代码:
int InitDlink(DlinkList * head)  //初始化  这里为什么要用2级指针呢?
{
    *head=APL;
    if(NULL == *head)
        return -1;
    else
        (*head)->next=*head;
        (*head)->prior=*head;

    return 1;
}

DlinkList CreatDlink(DlinkList head,int n)  //创建链表
{
    DlinkList p , s;
    DataType e;

    if(InitDlink(&head))
        p=head;

    else
        return NULL;

    while(n)
    {
        s=APL;
        if(NULL == s)
            return NULL;

        printf("请输入节点数据:");
        scanf("%d",&e);
       
        s->data=e;              //连接新结点
        s->next=p->next;        //这个地方为什么不能改成head p->next 本身就是head啊 ?
        s->prior=p;
        p->next=s;
        head->prior=s;
        n--;
   
    }

    return (head);
}
纠结的问题都再注释后面提出来了
2011-10-12 17:15
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 
只能人工了
2011-10-12 17:19
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 
努力
2011-10-12 17:20
C梦天下
Rank: 2
等 级:论坛游民
帖 子:53
专家分:38
注 册:2011-4-10
收藏
得分:0 
.......
2011-10-12 17:31
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:20 
int InitDlink(DlinkList * head)  //初始化  这里为什么要用2级指针呢?,初始化链表是要操作指针的指针
s->next=p->next;        //这个地方为什么不能改成head p->next 本身就是head啊 ?head是头指针不变化,而p->next是随时变化的,至少很多链表操作里面用p=malloc这样的调用。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-10-14 07:04
快速回复:纠结了一个问题------------↓
数据加载中...
 
   



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

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