c语言链表的中的一些问题

首先这个问题毫无疑问是比较伸手党的--我并没有实验我的说法为什么不行,一直都是照着别人的打,直接到这里问的在链表里有一个创建链表和一个便利输出创建链表一般都是pHead=... 首先这个问题毫无疑问是比较伸手党的- -我并没有实验我的说法为什么不行,一直都是照着别人的打,直接到这里问的
在链表里有一个创建链表和一个便利输出
创建链表一般都是pHead=_list();
然后下边肯定就是
stu……*_list(void)
{
……
return pHead;
}
为什么不可以直接指针发过去呢
就是这样_list(pHead);
_list(pHead)
{
……
return 0;
}
是因为这样不方便么?我也是因为这样还要全套有很大变动懒得试才来问的。。而且还不一定成功,求大神直接给个答案吧
展开
 我来答
X_earth
2015-04-15 · TA获得超过248个赞
知道小有建树答主
回答量:204
采纳率:73%
帮助的人:66.1万
展开全部
是可以的,不过是_list(&pHead); 在_list函数中都应该引用*pHead,这样可以通过指针的方式改变pHead的值,如下:
void _list(struct ... **head)
{
...
/* 这里的操作全部使用*head */
}
main()
{
...
struct .. *pHead = NULL;
_list(&pHead);
...
}

实际上我更喜欢使用_list(&pHead)的方式,原因是我一般返回值是创建链表成功或者失败,或者是其他的什么值,这样可以得到更多的返回值,此时pHead即是输入参数也是输出参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2016-11-20 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
如果用参数传的话值带不回来
这是一个古老的形参实参的问题
要想传回类型为stu *的参数值回来 那么就要定义为stu**型 然后传参数的时候用
_list(&pHead);
这样看起来还没有用返回值的清晰 所以很少用

PS:如果是C++的话 可以引用传参
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式