扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
引用参数是由调用部位传入实参的地址(写在留言板上)的形参。
在锦江等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站建设 网站设计制作按需规划网站,公司网站建设,企业网站建设,品牌网站建设,成都营销网站建设,成都外贸网站建设,锦江网站建设费用合理。
以符号“&”开始的参数即为引用参数。
如果一个形参是引用参数,调用部位将把实参的地址传递给子程序。子程序可以改变传递给引用参数的任何实参,因为子程序操作的是真正的变量,而不是它的副本。
引用变量在声明的时候必须初始化
例如:
int a;
int & ref = a;
引用参数操作的是引用的对象内存中的空间
int a = 10;
int & ref = a;//ref 引用 a的内存地址
printf("ref = %d\n", ref);
a = 20;//当a内存的值改变,ref找到a的内存地址得到改变后的值
printf("当a改变后ref = %d\n", ref);
ref = 30;//ref对引用的内存地址进行改变, a在内存中的值改变,a改变
printf("当ref改变后a=%d",ref);
普通变量操作自己的内存空间
int a = 10;
int b = a;//使用了一个int大小的空间给b,将a的值复制给b
printf("b = %d\n", b);
a = 20;//当a所在内存的值改变,b所在内存 的值不会受影响
printf("当a改变后b = %d\n", b);
b = 30;//b所在内存的值改变, a在内存中的值也不会受影响
printf("当b改变后a=%d",a);
int sum(int & a, int & b);
//c = sum(10, 20); 错误,不能传入直接数
int a = 10, b = 20;
c = sum(a, b); //正确,必须通过变量将值传入函数
但是如果函数在声明的时候用const
修饰了引用变量,就可以传入直接数,编译器会创建一个临时的无名变量跟引用变量绑定。例如:
int sum(const int & a,const int & b);
c = sum(10, 20); //正确,引用变量被const修饰
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流