数据结构 函数参数中的 &是干什么的?
2 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
函数参数中的& 是别名引用的意思~ 目的是为了将实参的别名传递给形参,这样可以利用形参传递出想要的值。
如:
voidfun1(int a)
{
a ++;
}
void fun2(int &a)
{
a++;
}
现在有如下声明:
int a = 10;
调用fun1 ----> fun1(a); printf("a = %d", a); 结果: a = 10;
原因,形参在函数完成后就释放了,所以a还是等于10
调用fun2 ----> fun2(a); printf("a = %d", a); 结果: a = 11;
原因,由于传递的是实参的引用,别名,所以在函数完成后,实参得到了修改 所以a应该等于11
PIPIONE
TA贡献1829条经验 获得超9个赞
引用是一种复合类型,在变量前加&来定义,在引用的情况下每一种引用类型都关联到某一其他类型。不能定义引用类型的引用,但可以任何其他类型的引用。
int ival=1024;
int &refval=ival; 作用在reval上的操作事实都是作用在引用绑定的对象上
- 2 回答
- 0 关注
- 696 浏览
添加回答
举报
0/150
提交
取消