欢迎来到天天文库
浏览记录
ID:39917156
大小:90.50 KB
页数:6页
时间:2019-07-14
《CC++函数参数传递方式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C/C++函数参数传递方式1.形参和实参均为普通变量在这种情况下传给形参的是变量的值。传递是单向的,即如果在执行函数期间形参的值发生变化,并不传回给实参,这就是值传递方式。因为在调用函数期间,形参和实参不是同一个存储单元。voidmain(){voidswap(int,int);//参数为整型变量 inti=3,j=4; cout<<"i="<
2、dswap(inta,intb){//形参为整型变量 inttemp; temp=a; a=b; b=temp;}结果:i=3,j=4i=3,j=4执行函数swap后,形参a和b的改变不会影响实参i和j的值。2.形参为指针变量形参是指针变量,实参是一个变量的地址,调用函数时,形参(指针变量)指向实参变量单元。voidmain(){voidswap(int*,int*);//参数为整型指针变量 inti=3,j=4; cout<<"i="<
3、ndl; swap(&i,&j);//变量地址 cout<<"i="<
4、地址所指向的变量的值。3.引用形参intmain(){voidswap(int&,int&);//参数为整型变量的引用 inti=3,j=4; cout<<"i="<
5、当函数调用时,由实参把变量名传给形参。i的名字传给引用变量a,j的名字传给引用变量b。此时a和b就分别与i,j占用同一内存单元。a和b不再另外开辟内存单元。这种把实参地址传递到形参,使形参取实参的地址,从而使形参与实参共享同一内存单元的方式,就是地址传递方式。说明:(1)方式2传递指针变量要另外开辟内存单元,其内容为地址;而方式3引用不是一个独立的变量,不单独占内存单元。(2)方式3中,main函数调用swap函数时,实参不必用形式(&i,&j),而直接使用变量名(i,j)。变量名就代表了变量地址,
6、系统向形参传递的是实参的地址而不是实参的值。本文出自51CTO.COM技术博客本文出自51CTO.COM技术博客
此文档下载收益归作者所有