数据结构中&的作用是什么?

例如线性表中顺序存储:priorElem(L,cur_e,&pre_e)中为什么使用&。GetElem(L,i,&e)同时为什么:ListInsert(&L,i,e)和L... 例如线性表中顺序存储:priorElem(L,cur_e,&pre_e)中为什么使用&。
GetElem(L,i,&e)
同时为什么:
ListInsert(&L,i,e)和ListDelete(&L,i,&e)中e一个需要&一个不需要?
展开
 我来答
panfeifei121
2018-04-03 · TA获得超过1.3万个赞
知道小有建树答主
回答量:103
采纳率:100%
帮助的人:1.5万
展开全部

qStack &S是一个引用的固定用法,而不是取地址,例如,int a; int &b = a; //这就表明了b是a的“引用”,即a的别名。

&是C++中的引用符号,用作函数形参是表明传递的是实参的一个引用(即实参的一个别名),这样在函数中对形参操作会影响到实参,通常用&来通过函数改变实参的值。如果没有&,则传递的只是实参的一个副本,在函数中对形参的操作不会影响到实参。

第一个使用&是为了用pre_e来保存顺序表中元素的值(执行完函数后pre_e在函数中的值被保存起来),以此方便后续操作对这个值的访问。

第二个函数中&的作用于第一个相同

ListInsert函数是在表里面插入e这个元素,只需要插入它的副本就行了,所以不用加&,而ListDelete函数作用是删除表中元素,用&是为了得到被删除的元素的值。如果没有&,函数执行完后e的值还是原来未执行ListDelete前的值,所以用&。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式