鱼C论坛

 找回密码
 立即注册
查看: 4676|回复: 8

//求教循环链表返回值问题,求大佬解答

[复制链接]
发表于 2018-4-17 19:02:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

node creat(int n)
{
        node head=NULL;
        node s;
        node p;
        int i=1;
        s=head;
        for(i=1;i<=n;i++)
        {
                p=(node)malloc(sizeof(struct Linklist));
                p->date=0;
                if(head==NULL)                         ////请问这里if--else为什么要这样用,不这样用,直接s->next=p;s=p;结果又不对,难到循环链表的返回值和单链表不一样吗
                {
                        head=p;                  
                }
                else
                {
                        s->next=p;
                }
                s=p;
        }
        s->next=head;
        return head;
       
       
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-4-18 13:03:15 | 显示全部楼层
溯影 发表于 2018-4-17 22:27
楼主你的问题主要是空间分配问题,记得结点一定要分配空间哇哈哈,还有楼主你的想法是对的我认为,具体见程 ...

大佬,大佬,我明白了,感谢感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-18 13:04:57 | 显示全部楼层
小休比 发表于 2018-4-18 13:03
大佬,大佬,我明白了,感谢感谢

如果不分配地址的话,那个head只是一个指针而已
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-18 13:13:50 | 显示全部楼层
ba21 发表于 2018-4-17 20:00
条件说得很明白了哦,首先要看 头 是不是为空。为空有为空的操作。 如果不为空,有不为空的操作,很好理解 ...

那个设头指针一定要为空吗,就是node head=NULL,如果没有等于NULL,会有什么影响吗?没影响的话,为什么都要这样设呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-18 19:03:37 | 显示全部楼层
溯影 发表于 2018-4-18 14:40
head设置成NULL是为了防止野指针的形成,你在C语言的学习中肯定听说过野指针,还有在C语言里定义了指针一 ...

好的,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-4 02:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表