chap2_函数2009.ppt

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

Part II 函数 函数的定义 函数原型声明 函数调用及参数传递* 内联函数 函数重载 有默认参数的函数 作用域与存储类别 函数说明: 关于return (返回)语句 语句格式: return; //无值void return 表达式; //有值 return (表达式); //有值 §2 函数原型(对被调函数的声明) 求三角形面积 #includeiostream.h #include math.h //需要声明???? double area(double x,double y,double z) { double s; if (x+yz||x+zy||y+zx) return 0; s=(x+y+z)/2; return sqrt(s*(s-x)*(s-y)*(s-z)); } void main() { double a,b,c,s; coutPlease input a,b,c=; cinabc; s=area(a,b,c); coutarea=s endl; } 当函数未被调用时,形参不占内存 当函数被调用时,为形参分配内存,并将实参的值传递给形参 当函数调用结束时,释放形参所占存储空间 #includeiostream.h void sort(int []); Void output(int []); void main() { int a[10],i; for(i=0;i10;i++) cina[i]; output(a); sort(a); output(a); } #includeiostream.h void sort(int [],int), output(int [],int); void main() { const int SIZE= 40; int a[SIZE],i,n; cout\nPlease input n=; cinn; for(i=0;in;i++) cina[i]; output(a,n); sort(a,n); output(a,n); } #includeiostream.h void sort(int [],int); void output(int [],int); void main() { const int SIZE= 40; int a[SIZE],i,n; /*INPUT*/ cout\nPlease input n=; cinn; for(i=0;in;i++) cina[i]; output(a,n); sort(a,n); output(a,n); } 数组名作参数例程1-4 #includeiostream.h const int N=2,M=2; void maxmin(int x[][M],int n,int m,int max,int min); void main() { int a[N][M],max,min; for(int i=0;iN;i++) for(int j=0;jM;j++) cina[i][j]; maxmin(a,N,M,max,min); coutmaxendl; coutminendl; } 2.引用传递 如果在函数中反复利用指针进行间接访问,会使程序容易产生错误且难以阅读。如果以引用作为参数,将形参作为实参的别名,则对形参的任何操作都能改变相应的实参的数据,使函数调用显得方便、自然。 函数调用机制的选择: 若程序是对数组进行处理,则应采用地址传递机制。 若程序希望从函数返回多个值,或程序希望形参的改变能影响相应的实参的值,则应采用地址传递或引用传递。 除以上情况外,应采用变量的值传递机制。这样被调函数中形参的改变不会影响到实参,从而可以减少函数间的关联,增加程序的可靠性,便于调试。 §4 内联函数 (1)内联函数的意义 内联扩展(inline expansion)简称为内联(inline),内联函数也称为内嵌函数。当在一个函数的定义或声明前加上关键字inline则就把该函数定义为内联函数,它主要是解决程序的运行效率。 计算机在执行一般函数的调用时,无论该函数多么简单或复杂,都要经过参数传递、执行函数体和返回等操作,都需要一定的时间和空间开销,有时,函数本身功能简单,代码很短,但使用频率却很高,这样就使得效率降低。若把一个函数定义为内联函数后,在程序编译阶段,编译器就会把每次调用该函数的地方都直接替换为该函数体中的代码,由此省去函数的调用及相应的保存现场、参数传递和返回操作,从而加快整个程序的执行速度。 (3)内联函数的原型声明 与其它函数一样,内联函数必须先声明后使用,如果要声明一个内联函数原型,则也必须加上声明关键字inline。例

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档