(精版)第四章利用函数实现指定功能.ppt

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

内联函数的作用: 使用函数可以缩短代码,但函数调用时,需要使用内存中的栈来保留现场、传递参数并产生程序转移,这样就影响了程序执行速度 内联函数的定义 注意: 具有块作用域的标识符在其作用域内,将屏蔽其作用块包含本块的同名标识符,即 变量名相同,局部更优先。 void main(void) { int a=2, b=3, c=5; couta‘\t’b‘\t’cendl; { int a, b=2; a=b+c; couta‘\t’b‘\t’cendl; } c=a-b; couta‘\t’b‘\t’cendl; } a 2 b 3 c 5 3 5 7 2 5 a b 2 7 -1 2 3 -1 二、文件作用域 全局变量的作用域称为文件作用域,即在整个文件中都是可以访问的。 其缺省的作用范围是:从定义全局变量的位置开始到该源程序文件结束。 当在块作用域内的变量与全局变量同名时,局部变量优先。 p,q有效 int p=1, q=5; float f1( int a) { int b,c; ..... } char c1,c2; main( ) { int m, n; ..... } a,b,c有效 m,n有效 c1,c2有效 全局变量 局部变量 全局变量增加了函数间数据联系的渠道 4 int min; int max (int x, int y) { int z; min=(xy)?x : y; z=(xy)? x : y ; return z; } void main (void) { int a,b,c; cinab; c=max (a , b) ; cout“The max is”cendl; cout“ The min is”minendl; } 全局变量 a b c 4 1 4 x y 1 min 0 z 4 1 函数值为4 The max is 4 The min is 1 min 在main( )和max( )中均有效,在内存中有唯一的存储空间。 在块作用域内可通过作用域运算符“::”来引用与局部变量同名的全局变量。 #include iostream.h int i= 100; void main(void) { int i , j=50; i=18; //访问局部变量i ::i= ::i+4; //访问全部变量i j= ::i+i; //访问全部变量i和局部变量j cout”::i=”::i’\n’; cout”i=”i’\n’; cout”j=”j’\n’; } ::i=104 i=18 j=122 三、函数原型作用域 在函数原型的参数表中说明的标识符所具有的作用域称为函数原型作用域,它从其说明处开始,到函数原型说明的结束处结束。 float tt(int x , float y); //函数tt的原型说明 四、存储类 (存储期) 外存 内存 程序 程序区 静态存储区 动态存储区 存放程序代码 存放变量 需要区分变量的存储类型 作用域 全局变量 局部变量 生存期 动态存储变量 静态存储变量 静态存储:在文件运行期间有固定的存储空间,直到文件运行结束。 动态存储:在程序运行期间根据需要分配存储空间,函数结束后立即释放空间。若一个函数在程序中被调用两次,则每次分配的单元有可能不同。 动态存储区 静态存储区 程序区 全局变量 静态局部变量 动态局部变量 int fun(int a) { int c; static int b=3; c=a+ b++; return c; } void main(void) { int x=2, y; y=fun(x); coutyendl; y=fun(x+3); coutyendl; } x 2 y a 2 b 3 c 5 4 5 5 a 5 只赋一次初值 c 9 5 9 9 输出: 变量b是静态局部变量,在内存一旦开辟空间,就不会释放,空间值一直保留 全局变量的存储方式(extern static) 全局变量的默认方式,当在一个文件中要引用另一个文件中的全局变量或在全局变量定义之前要引用它时,可用extern作说明,相当于扩大全局变量的作用域。 2、静态(static)存储类别 1、exter

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档