数据结构中&的作用是什么?
例如线性表中顺序存储: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一个需要&一个不需要? 展开
GetElem(L,i,&e)
同时为什么:
ListInsert(&L,i,e)和ListDelete(&L,i,&e)中e一个需要&一个不需要? 展开
1个回答
展开全部
qStack &S是一个引用的固定用法,而不是取地址,例如,int a; int &b = a; //这就表明了b是a的“引用”,即a的别名。
&是C++中的引用符号,用作函数形参是表明传递的是实参的一个引用(即实参的一个别名),这样在函数中对形参操作会影响到实参,通常用&来通过函数改变实参的值。如果没有&,则传递的只是实参的一个副本,在函数中对形参的操作不会影响到实参。
第一个使用&是为了用pre_e来保存顺序表中元素的值(执行完函数后pre_e在函数中的值被保存起来),以此方便后续操作对这个值的访问。
第二个函数中&的作用于第一个相同
ListInsert函数是在表里面插入e这个元素,只需要插入它的副本就行了,所以不用加&,而ListDelete函数作用是删除表中元素,用&是为了得到被删除的元素的值。如果没有&,函数执行完后e的值还是原来未执行ListDelete前的值,所以用&。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询