9.2 指针与函数(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社).pptxVIP

9.2 指针与函数(课件)-《C语言程序设计》同步教学(西安电子科技大学出版社).pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

C语言程序设计2023翻转课堂实用教程

9.2指针与函数

123指针变量作为函数参数数组名作为函数参数知识点指针与函数案例分析案例分析指针与函数相关练习题练习题

指针变量作为函数的参数时:将函数外部某些变量的地址传递到函数内部,在函数内部通过这些外部变量的地址操作这些外部变量。1.指针变量作为函数的参数9.2.1指针与函数知识点

案例9.2.1编写calculate函数来计算两个double类型变量a和b的和与差,并将和sum与差diff返回给main函数。9.2.1指针与函数知识点对于需要函数返回多个值的情况:可以将这两个变量sum和diff定义为全局变量(案例8.2.1);还可以将这两个变量作为函数的入参。参数该如何传递?

9.2.1指针与函数知识点#includestdio.hvoidcalculate(intsum,intdiff,inta,intb){ sum=a+b; diff=(ab?a-b:b-a); printf(Incalculate,sumis%d,diffis%d\n,sum,diff);}intmain(){ inta,b,sum=0,diff=0; printf(请输入整型a和b的值:); scanf(%d%d,a,b); calculate(sum,diff,a,b); printf(Inmain,sumis%d,diffis%d,sum,diff); return0;}请输入整型a和b的值:2310↙Incalculate,sumis33,diffis13Inmain,sumis0,diffis0案例9.2.1程序代码(错误实例)calculate()函数中计算出来sum和diff的值,这个结果并没有返回给calculate()函数的调用者main()。分析原因(1)calculate与main中的sum和diff,不同变量,作用域不同、所占内存空间不同。(2)sum、diff、a、b的值单向依次传给了calculate()的形式参数。以值传递,传递的是数值。

9.2.1指针与函数知识点#includestdio.hvoidcalculate(int*pSum,int*pDiff,inta,intb){ *pSum=a+b; *pDiff=(ab?a-b:b-a);}intmain(){ inta,b,sum=0,diff=0; printf(请输入整型a和b的值:); scanf(%d%d,a,b); calculate(sum,diff,a,b); printf(sumis%d,diffis%d,sum,diff); return0;}请输入整型a和b的值:2310↙sumis33,diffis13案例9.2.1程序代码(正确实例)main()函数将sum和diff的地址值传给形参calculate中的pSum、pDiff;calculate中*pSum和*pDiff就是sum和diff。以值传递,传递的是地址信息。

总结,通过函数调用改变某个变量的值,需要满足三个条件:①首先在主调函数中,传入函数的实际参数需要是该变量地址;②其次函数的形参需要是与该变量同类型的指针;③最后在函数内部,改变形参所指向的变量的值。用指针变量作为函数参数的方式,也可以实现函数返回多个变量的情况1.指针变量作为函数的参数9.2.1指针与函数知识点

数组名实际上就是一个指针常量,主调函数将数组名传递给被调函数时,仅仅是数组的首地址,在被调函数中无法获得数组元素的个数,还需要一个整型参数来表示数组的元素个数。2.数组名作为函数的参数9.2.1指针与函数知识点

要求:输入两个整数a,b,编写swap函数,通过调用swap函数实现a和b的交换。问题分析:如果希望通过函数调用改变a和b的值,需要满足三个条件:①首先在主调函数中,传入函数的实际参数需要是a和b的地址;②其次函数的形参需要是同类型的指针;③最后在函数内部,改变形参所指向的变量的值。案例9.2.2定义函数交换两个变量的值9.2.2指针与函数案例分析扫码观看视频

9.2.1指针与函数知识点#includestdio.hvoidswap(int*pA,int*pB){ inttmp; tmp=*pA; *pA=*pB; *pB=tmp;}intmain(){ inta,b; printf(请输入整型a和b的值:); scanf(%d%d,a,b); swap(a,b); print

您可能关注的文档

文档评论(0)

中小学教学资料 + 关注
实名认证
服务提供商

小学、初中、高中信息科技教案、试卷、课件等教学资源

1亿VIP精品文档

相关文档