免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6840 | 回复: 13
打印 上一主题 下一主题

链表初始化的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-06 14:35 |只看该作者 |正序浏览
链表的初试化中,遇到一个问题,
typedef char elemtype;
typedef struct node   
{    elemtype data;
     struct node *next;
}lnode;
typedef lnode *linklist;


void init(linklist l)
{
l=(linklist)malloc(sizeof(lnode));
if(!l) printf("分配内存出错!";
else l->;next=NULL;
return(l);
  }//这是我写的初始化程序;

上面函数和下面函数的有什么区别?

    void init(linklist &l)     //引用型参数
{
l=(linklist)malloc(sizeof(lnode));
if(!l) printf("分配内存出错!";
else l->;next=NULL;

}//书上给出的标准初始化程序,请问上面初始化有什么不同!

什么是引用型参数,我没查到这个部分。不能理解上面函数的参数传递。请老师指导。

论坛徽章:
0
14 [报告]
发表于 2004-11-06 16:33 |只看该作者

链表初始化的问题!

各位,我买的教材是C语言描述的,这个问题一直困惑了很久。现在我总算明白了,是C++的引用,新的特性。我先看看C++的引用。感谢你们的帮助。这个问题我始终不明白,一直持续了好久了。没想到C语言里用到了C++的语法。谢谢大家了。

论坛徽章:
0
13 [报告]
发表于 2004-11-06 16:22 |只看该作者

链表初始化的问题!

谢谢zhaoliuping!谢谢twen345你们的热心!

论坛徽章:
0
12 [报告]
发表于 2004-11-06 16:21 |只看该作者

链表初始化的问题!

GCC支持扩展的,我运行没问题的。

论坛徽章:
0
11 [报告]
发表于 2004-11-06 16:20 |只看该作者

链表初始化的问题!

twen345.你的qq设置不对,拒绝我加人好朋友,请修改你的配置!!谢谢!

论坛徽章:
0
10 [报告]
发表于 2004-11-06 16:16 |只看该作者

链表初始化的问题!

呵呵,相互学习吧,我也是菜鸟qq:358023393
ANSI C里面没有引用,不过不知道gcc是否扩展支持
我前面也没有说清楚,如果你想通过参数返回 l 的值得话,是需要定义为linklist *l或linklist &l的,而你通过return返回的话就不用了,就像你上面的代码一样

论坛徽章:
0
9 [报告]
发表于 2004-11-06 16:10 |只看该作者

链表初始化的问题!

第1个传递的是值,也就是说函数创建了新的内存,使用传进来的参数,在返回的时候,创建匿名内存,将返回值保存,再让主调函数使用;第2个传递的是引用,函数使用的是参数本身的内存地址,不需要返回,时间和空间上都得到了提高!

论坛徽章:
0
8 [报告]
发表于 2004-11-06 16:05 |只看该作者

链表初始化的问题!

纠正一下,上面的那个函数应该是:
linklist  init(linklist l)
{
l=(linklist)malloc(sizeof(lnode));
if(!l) printf("分配内存出错!";
else l->;next=NULL;
return(l);
}
在主函数中是可以引用的:
p=init(p);
运行没问题。

论坛徽章:
0
7 [报告]
发表于 2004-11-06 16:02 |只看该作者

链表初始化的问题!

我只学了C语言,,没学C++不好意思了。C里面有引用吗?

论坛徽章:
0
6 [报告]
发表于 2004-11-06 16:02 |只看该作者

链表初始化的问题!

谢谢twen345给我帮助我想加你的qq可以吗?
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP