c语言链表的中的一些问题
首先这个问题毫无疑问是比较伸手党的--我并没有实验我的说法为什么不行,一直都是照着别人的打,直接到这里问的在链表里有一个创建链表和一个便利输出创建链表一般都是pHead=...
首先这个问题毫无疑问是比较伸手党的- -我并没有实验我的说法为什么不行,一直都是照着别人的打,直接到这里问的
在链表里有一个创建链表和一个便利输出
创建链表一般都是pHead=_list();
然后下边肯定就是
stu……*_list(void)
{
……
return pHead;
}
为什么不可以直接指针发过去呢
就是这样_list(pHead);
_list(pHead)
{
……
return 0;
}
是因为这样不方便么?我也是因为这样还要全套有很大变动懒得试才来问的。。而且还不一定成功,求大神直接给个答案吧 展开
在链表里有一个创建链表和一个便利输出
创建链表一般都是pHead=_list();
然后下边肯定就是
stu……*_list(void)
{
……
return pHead;
}
为什么不可以直接指针发过去呢
就是这样_list(pHead);
_list(pHead)
{
……
return 0;
}
是因为这样不方便么?我也是因为这样还要全套有很大变动懒得试才来问的。。而且还不一定成功,求大神直接给个答案吧 展开
2个回答
展开全部
是可以的,不过是_list(&pHead); 在_list函数中都应该引用*pHead,这样可以通过指针的方式改变pHead的值,如下:
void _list(struct ... **head)
{
...
/* 这里的操作全部使用*head */
}
main()
{
...
struct .. *pHead = NULL;
_list(&pHead);
...
}
实际上我更喜欢使用_list(&pHead)的方式,原因是我一般返回值是创建链表成功或者失败,或者是其他的什么值,这样可以得到更多的返回值,此时pHead即是输入参数也是输出参数。
void _list(struct ... **head)
{
...
/* 这里的操作全部使用*head */
}
main()
{
...
struct .. *pHead = NULL;
_list(&pHead);
...
}
实际上我更喜欢使用_list(&pHead)的方式,原因是我一般返回值是创建链表成功或者失败,或者是其他的什么值,这样可以得到更多的返回值,此时pHead即是输入参数也是输出参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询