数据结构顺序表中SqList &L 中为什么要用&
部分代码如下intInitList_Sq(SqList&L)SqList&L与SqListL的区别是什么...
部分代码如下
int InitList_Sq(SqList &L)
SqList &L与SqList L的区别是什么 展开
int InitList_Sq(SqList &L)
SqList &L与SqList L的区别是什么 展开
1个回答
展开全部
由于函数的参数传递是单向值传递,若不用&例如在主函数中调用 InitList_Sq(SqList L)创建一个顺序表L,如下面代码,把实参myL的值传给形参L,在函数中初始化L(赋值),当函数返回时,myL并没有被初始化,因为形参L不能反向传给实参。而加上引用&(在C语言中叫带地址传递)就不一样了,形参L变成实参myL的别名,实参和形参实际是同一段内存空间,当然修改形参就是修改实参
int main()
{
SqList myL;//实参
InitList_Sq(myL);
.......
}
int main()
{
SqList myL;//实参
InitList_Sq(myL);
.......
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询