c和c形参实参以及参数的传递方式总结

c和c形参实参以及参数的传递方式总结

ID:21139171

大小:122.50 KB

页数:8页

时间:2018-10-19

c和c形参实参以及参数的传递方式总结_第1页
c和c形参实参以及参数的传递方式总结_第2页
c和c形参实参以及参数的传递方式总结_第3页
c和c形参实参以及参数的传递方式总结_第4页
c和c形参实参以及参数的传递方式总结_第5页
资源描述:

《c和c形参实参以及参数的传递方式总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C/C++中实参与形参的应用目录1.翻32.形参与实参的定义32.132.2錢33.值传递、地址传递以及引用传递33.1船腿33.2地址传递53.3引川传递64.总结75.辦办当71.摘要木笔记主要整理了C/C++屮形参与实参定义及区别,以及参数的似传递、地址传递、引用传递的作用与意义。2.形参与实参的定义2.1形参形参全称为"形式参数"是在闹数定义的首部W数名后括号屮说明的变景。形参记义时编译系统并不为其分配存储空间,也无初值,只有在函数调川时,临时分配存储空问,接受实参的值。当函数调川结束,内存空间释放,值消失。丼且,必须注意实参的个数,类型应与形参一一对庖

2、,并II实参必须要冇确定的似。2.2实参实参全称为"实际参数"圮当一个W数被调川的时候在被调川处给出对应的参数。实参可以是常量、变量、表达式、函数等,无论实参是何种类型的ffl,在进行函数调用时,它们都必须具打确定的似,以便把这些值传送给形参。W此应预先用赋值,输入等办法使实参获得确定位,并且实参足单向的将值传给形参。3.值传递、地址传递以及引用传递3.1值传递值传递顾名思义就足将实参的实际值传递给形参,此吋形参就相当于将实参的悄:拷W下来,参与被调川函数的运算,而改变形参的值并不会影响外部实参的值(实参->形参,单向的值传递)。下面就通过代码和示意阁说明。vo

3、idmain(void)uint8Counted=3u;uint8Counter2=5u;Swap(Counter1,Counter2);}voidSwap(uint8Parameterl,uint8Parameter2){uint8Temp=Ou;Temp=Parameterl;Parameterl=Parameter2;Parameter2=Temp;return;}函数调用前Counted和Counter2的值分别为3和5;调用时给Parameter!和Parameter2分配空间,并将实参Counted和Counter2的值分别俾给Parameterl和

4、Parameter2;交换时将Parameterl和Parameter2的值变成5和3;{口.调用后Parameterl和Parameter2的空

5、川被释放;此吋,Counter"!和Counter2的值并没有因为Parameter"!和Parameter2的改变而改变,W为它们占用的是不同的N存单元。SjjulerlCcunLei2CuurilerlCounler2CodnterlC〕」(rer2CcunterlCcunter2ni5115ii31ParamererlPararrctcr2ParameterlParamerer2调用前调用时调用后3.2地址传递

6、地址传递其实也是似传递,只不过传递的参数是地址而已。此时形参也会将实参的侦拷贝下来,只不过此时的形参值是地址,前面我们已经知道实参与形参的数据传递是中.向的,但是由于内存空间的唯一指向性,所以此吋的实参和形参都会指向问一个内存单元,即形参所指向的单元发生变化,实参地址的rt存单元也会变化。下面就通过代码和示意图说明。voidmain(void){uint8Counted=3u;uint8Counter2=5u;Swap(&Counter1,&Counter2);}voidSwap(uint8*Para1_Ptr,uint8*Para2_Ptr){uint8Tem

7、p=Ou;Temp=*Para1_Ptr;*Para1Ptr=*Para2Ptr;*Para2_Ptr=Temp;return;}函数调用前Counted和Counter2的值分别为3和5;调用时给Para1_Ptr和Para2_Ptr分配空间,并且它们分别指向Counter!和Counter2的内存空间;交换时,Para1_Ptr和Para2_Ptr所指向的内存单元数裾交换,即Counter"!和Counter2的数裾交换,分别为5,3;调用后Para1_Ptr和Para2Ptr的空间释放。ZjjnlerlCcunLei2□□CuurllerlCuunler2

8、AFaral.PtrPara2_PtrCounterlCDjni;er2CounterlCcunU「235扣35

9、5

10、

11、3■/j八Faral_PtrPara2_Ptr洞用前调用时交换w调用后3.3引用传递在引用传递吋,形参就相当于是实参的“别名”,对形参的操作其实就是对实参的操作。在此过程中,实参实际上给形参传递的足实参地址,由丁•内存空间的唯一指向性,所以对形参的操作就改变了实参的值。下而就通过代码和示意阁说明。voidmain(void){uint8Counted=3u;uint8Counter2=5u;Swap(Counter1,Counter2);}v

12、oidSwap(uint

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。