网站大量收购独家精品文档,联系QQ:2885784924

函数参数的传递方式.ppt

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

说明: 实参必须有确定的值 形参必须指定类型 形参与实参类型一致,个数相同 若形参与实参类型不一致,自动按形参类型转换———函数调用转换 形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放;例、计算 x3;参数传递方式 有两种 值传递方式 地址传递方式 (1) 赋值传递方式 方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值。 特点: 若实参是变量: 形参与实参占用不同的内存单元,实参变量的值传递给形参变量。 若实参是常量或表达式: 实参的常量值或表达式值传递给形参变量。 赋值传递方式是单向值传递。;7;调用结束:;(2) 赋地址传递方式 方式:函数调用时,将数据的存储地址作为参数传递给形参 特点: 若实参是变量: 形参与实参占用???同的内存单元,实参变量的地址值传递给形参变量。 若实参是常量或表达式: 实参的常量地址值或表达式的地址值传递给形参变量。 形参与实参指向相同的存储单元 由于形参与实参指向共同的存储单元,通过形参改变其所指向的数据单元的数据,在主调函数中可以通过实参访问,从而达到数据“双向”传递的作用(参见接下来的例子) 实参和形参必须是地址数据(地址变量、常量或表达式);#include stdio.h swap(int *p1, int *p2) { int p; p=*p1; *p1=*p2; *p2=p; } void main( ) { int a,b; scanf(%d,%d,a,b); printf(“a=%d,b=%d\n”,a,b); printf(“swapped:\n”); swap(a,b); printf(”a=%d,b=%d\n,a,b); };#include stdio.h long sum(int a, int b); long factorial(int n); main() { int n1,n2; long a; scanf(%d,%d,n1,n2); a=sum(n1,n2); printf(a=%1d,a); } long sum(int a,int b) { long c1,c2; c1=factorial(a); c2=factorial(b); return(c1+c2); }

您可能关注的文档

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档