第七章函数2研究资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章函数2研究资料

C语言程序设计;Contents;模块化程序设计 函数的定义与调用 函数的参数 函数的返回值 被调函数的声明 ;函数间的参数传递;1 函数的参数 函数的参数有形参和实参两种,形参是出现在函数定义中,在整个函数体内部都有效,离开该函数则无意义。实参是出现在主调函数中,其作用是把实参的值传递给被调函数的形参,从而实现主调函数向被调函数传递数据的功能。 ;实参 ;实参与形参 参数传递;1、实参与形参:个数相同、类型一致、按顺序传递 2、实参 - 形参,值传递 单向 形参值的变化不会影响实参的值 实参和形参可以同名; 函数调用 流程 a、为被调函数的局部变量(包括定义的变量和形参)开辟存储单元。 b、将实际参数的值复制给形式参数。 c、流程从主调函数的调用处转移到被调函数,执行被调函数体中的语句序列。 d、当执行到被调函数的“return (表达式);”语句时,将表达式的值返回到主调函数的调用处,即以该表达式的值作为函数值替换“函数名(实际参数表)”,结束被调函数的执行;如无return语句,则遇函数体的右花括号“}”也结束被调函数的执行。 e、释放局部变量的存储单元,流程从被调函数转移到主调函数的调用处。 f、继续从主调函数的调用处向下执行。 ; 一、普通变量作为 函数实参 ;swap函数的功能是交换两个参数的值。从上面运行结果可以看出,交换了两个形参变量a和b的值,而main函数中实参x和y的值没有交换,这是因为实参向形参的数据传递是单向的,因而形参值的改变不会影响实参。; 二、数组元素作为 函数实参 ; 数组元素的实质与普通变量相同,因此用数组元素作为函数的实参与普通变量作为函数实参一样,都是把值传递给形参,即单向值传递。;值传递;; void fun(int a[2]) /*函数定义*/ { int c; c=a[0];a[0]=a[1];a[1]=c; /*交换a[0]与a[1]的值*/ } main() { int x[2]={3,5}; fun(x); /*函数调用*/ printf(x[0]=%d,x[1]=%d\n,x[0],x[1]); }; 数组名作实参其实质就是将实参数组的首地址传给形参的数组名,这样形参数组就获得实参数组的首地址,使得形参数组和实参数组为同一个数组,共同拥有一段??储空间。当函数结束时,形参数组内容的改变影响实参数组的内容。 ;地址传递 ;实验9: 函数定义与调用(1);合肥师范学院公共计算机教学部 ;*

文档评论(0)

LOVE爱 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5341224344000002

1亿VIP精品文档

相关文档