【数据结构】什么时候用“&” ?

比如,栈的基本操作里面就有:进栈Push(SqStack&S,ElemTypex)出栈Pop(SqStack&S,ElemType&x)读栈顶GetTop(SqStack... 比如,栈的基本操作里面就有:
进栈 Push(SqStack &S, ElemType x)
出栈 Pop(SqStack &S, ElemType &x)
读栈顶 GetTop(SqStack S, ElemType &x)
……
所以,一会 (&S,x),一会(&S,&x),一会又(S,&x),到底是什么鬼?没有常规的规律操作吗?难道指针和元素混合调用?
展开
 我来答
塔吊之灯
2018-09-10
知道答主
回答量:5
采纳率:0%
帮助的人:4729
展开全部
我也碰到这个问题,我个人理解是如果你的操作会改变里面的值,就用&,如果不改变就不用。比如入栈出栈这种操作,就会改变栈里面的值(值的数量也算),而读栈顶操作不会改变值。相对应的,读栈顶时,要把读到的值存进x中,所以要在x前面加&,再比如入栈,把x里面的值放入栈,x本身不变化,不加&,而栈里面元素会增加,所以栈名称前加&。
albumin
2018-09-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2407万
展开全部
&表示引用参数
如果需要在函数中修改传入的参数,就需要使用引用,如果不修改原始参数,不用加&,参数使用值传递即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式