做网站电话号码,用wordpress 部署,南宁网站建设公司seo优化,做外贸英文网站哪家好引用作为函数参数 C之所以增加引用类型#xff0c; 主要是把它作为函数参数#xff0c;以扩充函数传递数据的功能。 ———————————————————— c#xff0c;函数传参#xff1a;(1)将变量名作为实参和形参。这时传给形参的是变量的值#xff0c;传递是单向… 引用作为函数参数 C之所以增加引用类型 主要是把它作为函数参数以扩充函数传递数据的功能。 ———————————————————— c函数传参(1)将变量名作为实参和形参。这时传给形参的是变量的值传递是单向的。如果在执行函数期间形参的值发生变化并不传回给实参。因为在调用函数时形参和实参不是同一个存储单元。//同c (2) 传递变量的指针。形参是指针变量实参是一个变量的地址调用函数时形参(指针变量)指向实参变量单元。这种通过形参指针可以改变实参的值。//同c (3) C提供了 传递变量的引用。形参是引用变量和实参是一个变量调用函数时形参(引用变量)指向实参变量单元。这种通过形参引用可以改变实参的值。 #include iostream
using namespace std;
void funcr(int num , int x)
{coutin funcr,addr is:numendl;//对比地址等于原地址num x ;//会改变传入参数的值。
}void func(int num , int x)//不能写成void funcr(int num , int x),不正确的重载导致不知道该调用谁。
{coutin func,addr is:numendl;//对比地址有所变化num x ;//只会在函数内改变拷贝变量的值不会改变传入的参数值
} int main() {int x 100;int rx x ;coutaddr_x:xendl;coutaddr_rx:rxendl;//变量地址和它的引用地址相同
funcr(x,177);//改变传入参数的值不管代码中传的是变量本身还是引用 coutafter funcr , xxendl;funcr(rx,211); //改变传入参数的值 coutafter funcr , rxxendl;func (rx,233); //不会改变传入参数的值,不管代码中传的是变量本身还是引用 coutafter func , rxxendl;while(1);return 0 ;
}
//测试结果
addr_x:0xbf82293c
addr_rx:0xbf82293c
in funcr,addr is:0xbf82293c
after funcr , x177
in funcr,addr is:0xbf82293c
after funcr , rx211
in func,addr is:0xbf822920
after func , rx211 转载于:https://www.cnblogs.com/mylinux/p/4091583.html