结构体类型为SqList …… void InitList(SqList *&q){……}/&的作用 {SqList *q; …… InitList(q); }

上述问题中&的作用及其解释!为什么没有&就不行呢!... 上述问题中&的作用及其解释!为什么没有&就不行呢! 展开
 我来答
0a1a000
2012-10-24 · 超过20用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:63.4万
展开全部
&的意思是对线性表(你是在学数据结构吧……)直接进行操作,否则的话是相当于把原来的表复制一份,再对复制品操作。初始化的话肯定要对原表操作啦,要加&的。
追问
如果没有&的话,那么main()传给InitList()的就是地址,而*q也应该接收main()传下的地址,那么在这种情况下也应该改变了线性表list,而实际结果却是系统报错!这又是为何?
追答
楼上正解。
zjnny
2012-10-24 · TA获得超过2037个赞
知道小有建树答主
回答量:1055
采纳率:100%
帮助的人:1061万
展开全部
引用就是要你在原list上操作,如果传来一个节点指针node,直接node->data可以,但是如果你想修改传进来之前的那个指针的值,就不能修改node的值(而node只是一个形参,和原来的list无关)
注意形参的作用域
最好画图,仔细看看

假设链表中有head->next
调用函数把这个值传给q,然后q=q->next,但是传进来之前的head->next的值没变
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式