- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
和形参实参以及参数的传递方式总结.doc
C/C++中实参与形参的应用
目录
TOC \o 1-5 \h \z 翻 3
HYPERLINK \l bookmark2 \o Current Document \h 形参与实参的定义 3
3
錢 3
HYPERLINK \l bookmark5 \o Current Document \h 值传递、地址传递以及引用传递 3
3.1 船腿 3
HYPERLINK \l bookmark7 \o Current Document \h 3.2地址传递 5
HYPERLINK \l bookmark9 \o Current Document \h 3.3引川传递 6
HYPERLINK \l bookmark11 \o Current Document \h 总结 7
辦办当 7
1.
木笔记主要整理了 C/C++屮形参与实参定义及区别,以及参数的似传递、地址传递、引用传递
的作用与意义。
2.形参与实参的定义
2.1形参
形参全称为形式参数是在闹数定义的首部W数名后括号屮说明的变景。形参记义时编译系统并
不为其分配存储空间,也无初值,只有在函数调川时,临时分配存储空问,接受实参的值。当函
数调川结束,内存空间释放,值消失。丼且,必须注意实参的个数,类型应与形参一一对庖,并
II实参必须要冇确定的似。
2.2实参
实参全称为实际参数圮当一个W数被调川的时候在被调川处给出对应的参数。实参可以是常量、 变量、表达式、函数等,无论实参是何种类型的ffl,在进行函数调用时,它们都必须具打确定
的似,以便把这些值传送给形参。W此应预先用赋值,输入等办法使实参获得确定位,并且实
参足单向的将值传给形参。
3.值传递、地址传递以及引用传递
3.1值传递
值传递顾名思义就足将实参的实际值传递给形参,此吋形参就相当于将实参的悄:拷W下来,参与
被调川函数的运算,而改变形参的值并不会影响外部实参的值(实参->形参,单向的值传递)。
下面就通过代码和示意阁说明。
void main(void)
uint8 Counted = 3u;
uint8 Counter2 = 5u;
Swap(Counter1,Counter2);
}
void Swap(uint8 Parameterl, uint8 Parameter2)
{
uint8 Temp = Ou;
Temp = Parameterl;
Parameterl = Parameter2;
Parameter2 = Temp;
return;
}
函数调用前Counted和Counter2的值分别为3和5;调用时给Parameter!和Parameter2分
配空间,并将实参Counted和Counter2的值分别俾给Parameterl和Parameter2;交换时将
Parameterl 和 Parameter2 的值变成 5 和 3; {口.调用后 Parameterl 和 Parameter2 的空|川被释
放;此吋,Counter!和Counter2的值并没有因为Parameter!和Parameter2的改变而改变,
W为它们占用的是不同的N存单元。
Sjjulerl CcunLei2 Cuur ilerl Counler2 Codnterl C〕」(rer2 Ccunterl Ccunter2
ni 5 11 5 ii 31
Para mererl Pararrctcr2 Parameterl Para mere r2
调用前调用时调用后
调用前
调用时
调用后
3.2地址传递
地址传递其实也是似传递,只不过传递的参数是地址而已。此时形参也会将实参的侦拷贝下来,
只不过此时的形参值是地址,前面我们已经知道实参与形参的数据传递是中.向的,但是由于内存
空间的唯一指向性,所以此吋的实参和形参都会指向问一个内存单元,即形参所指向的单元发生
变化,实参地址的rt存单元也会变化。下面就通过代码和示意图说明。
void main(void)
{
uint8 Counted = 3u;
uint8 Counter2 = 5u;
Swap(Counter1, Counter2);
}
void Swap(uint8 *Para1_Ptr, uint8 *Para2_Ptr)
{
uint8 Temp = Ou;
Temp = *Para1_Ptr;
*Para1 Ptr = *Para2 Ptr;
*Para2_Ptr = Temp;
return;
}
函数调用前Counted和Counter2的值分别为3和5;调用时给Para1_Ptr和Para2_Ptr分配 空间,并且它们分别指向Counter!和Counter2的内存空间;交换时,Para1_Ptr和Para2_Ptr 所指
原创力文档


文档评论(0)