- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
重难点补充知识
函数参数传递 函数调用时,系统将实参值传送给形参的过程称形实结合。 传送方式:传值调用、传址调用和引用调用。 (1)传值调用 系统将实参的值传送给形参。 实参:可为常量、变量、表达式或函数(类型 与形参一致) 形参:为变量 参数传送是单向的,形参值的改变对实参无影响。 函数间参数传递 例: #include “stdio.h /*子函数*/ max( int x, int y) /* x , y是形式参数*/ { int z; z=xy? x:y; return(z); } main( ) /*主函数*/ { int a,b,c; scanf(%d%d,a,b); c=max(a,b); /* a , b是实际参数*/ printf(“Max is:%d,c); } 运行结果: 7 8 Max is 8 输入: a=3 b=4 结果: a= b= 3 4 例 #include stdio.h /*子函数*/ swap(int x,int y) { int t; t=x;x=y;y=t; } /*交换x和y的值*/ main() { int a,b; printf(a=);scanf(%d,a); printf(b=);scanf(%d,b); swap(a,b); printf(a=%d\nb=%d,a,b);} 传值调用:实参的值不随形参的改变而改变 a b x y a b x y (2)传址调用 调用时 实参:变量的地址 形参:指针(指针变量或数组)。 如: int swap(int *,int *); //函数说明 c = swap(a,b); //函数调用 形参指针直接指向实参变量,通过间接访问可改变实参的值,但实参变量的地址值不变化。 实参为数组名时,传送的是实参数组的首地址,实质为传址调用。 将交换例子进行改写(传地址) #include stdio.h void swap(int * ,int * ); void main() { int a,b; printf(a=; scanf(%d,a); printf(b=; scanf(%d,b); swap(a,b); printf(a=%d\nb=%d,a,b); } void swap(int *x,int *y) { int temp=*x;*x=*y;*y=temp;} 传址调用:实参的值可能随形参的变化而改变 (3)引用调用 实参:变量 形参:引用(实参的别名) 形参为引用时,实参变量名初始化被调函数的引用参数(实参的别名),函数中对引用的改变,实质就是对实参的改变。 实质上,实参传送给形参(实参的别名)是变量的地址,使形参和实参共享同一存储单元。 实参随形参(实参的别名)的值改变而改变。 引用比传值调用更直接、方便,而不容易出错。 将上例进行改写(形参为引用类型) #include stdio.h void main () { int a,b; void swap(int ,int); printf(a=;scanf(%d,a); printf(b=;scanf(%d,b); swap(a,b); printf(a=%d\nb=%d,a,b); } void swap(int x,int y) { int t; temp = x ; x = y; y = temp; } 引用调用:实参的值肯定随形参的改变而改变 (4)函数参数为数组(传址调用) 实参:数组 形参:数组、指针或引用。 实参传送的是数组的首地址(数组名) (2)实参为数组名,形参为指针 #include stdio.h #define N 10 void main() { int a[N] = {67,89,90,100,97,85,73,78,88,72}; int i; void sort (int *,int ); sort(a, N); for(i = 0;i N;i++)
您可能关注的文档
最近下载
- 第6课 欧洲的思想解放运动(新教材课件)-【中职专用】《世界历史》同步精品课堂(高教版2023•基础模块).pptx VIP
- 1000HP钻机总结.doc VIP
- 机械制图(第二版)全套PPT课件.pptx
- (2025秋新版)北师大版二年级数学上册《数学好玩 猜数游戏》PPT课件.pptx
- 江苏省连云港市东海县实验中学2024-2025学年九年级上学期第一次月考语文试题(含答案).pdf VIP
- Sharp夏普扫描仪DW-D20HZ-W DW-D20NZW3 CF-20HZW 3用户手册.pdf
- 2024-2025学年九年级语文上学期第一次月考试卷附答案解析.pdf VIP
- C站JUE-85中文操作说明书-07-9-10.pdf VIP
- 智能融合终端通用技术规范2025.docx
- 2024年中级经济师《经济基础》真题卷(1116下午).pdf VIP
文档评论(0)