数据结构 函数参数中的 &是干什么的?

书上说是 引用调用参数传递方式,具体有什么作用呢?

函数参数中的& 是别名引用的意思~ 目的是为了将实参的别名传递给形参,这样可以利用形参传递出想要的值。

如:
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
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-20
引用是一种复合类型,在变量前加&来定义,在引用的情况下每一种引用类型都关联到某一其他类型。不能定义引用类型的引用,但可以任何其他类型的引用。
int ival=1024;
int &refval=ival; 作用在reval上的操作事实都是作用在引用绑定的对象上
第2个回答  2011-10-20
跟指针一样,是传地址的
第3个回答  2011-10-20
严蔚敏那书中用变量的引用做函数参数,用的是C++的概念,如果使用纯C要改为指针实现。
第4个回答  2011-10-20
当成概念,这些记住就行,不用追问。。因为当时定义的时候选择了那个符号,就像@这个字符,看到就联想到E_MAIL,它就是没道理的,你就在输入EMAIL的时候必须输入它就是了。
相似回答