(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)

(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)

ID:37747622

大小:315.31 KB

页数:15页

时间:2019-05-30

(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)_第1页
(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)_第2页
(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)_第3页
(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)_第4页
(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)_第5页
资源描述:

《(演示)计算机程序设计基础(c语言)-第5章函数(变量作用域)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章函数变量的作用域指在源程序中定义变量的位置及其能被读写访问的范围分为局部变量全局变量教材170页2局部变量在语句块内定义的变量是内部变量,它只在本函数范围内有效,这种变量被称为局部变量.说明:(1)main()中定义的变量,也只在main()中有效(2)不同函数中可以使用相同名字的变量,他们代表不同的对象,互不干扰(3)形参也是局部变量,在本函数中有效(4)在复合语句中定义的变量,作用范围为该复合语句floatf1(inta){intb,c;…}charf2(intx,inty){intb,c;…}main(){intm,n;…}3例局部变量的作用范围v

2、oidother(void){inti=16,a=100;printf("--OTHER--i:%da:%d",i,a);}main(){inti=1,a=10,b=5;printf("--MAIN---i:%da:%db:%d",i,a,b);other();printf("--MAIN--i:%da:%db:%d",i,a,b);}4例5.8同名局部变量各自作用域#includevoidGlobalPlusPlus(void);main(){intglobal=1;printf("BeforeGlobalPlusP

3、lus(),itis%d",global);GlobalPlusPlus();printf("AfterGlobalPlusPlus(),itis%d",global);}voidGlobalPlusPlus(void){intglobal=1;printf("Before++,itis%d",global);global++;printf("After++,itis%d",global);}教材173页5全局变量在所有函数之外说明的变量称为外部变量,而外部变量是全局变量,它在所有函数中都是可见的。说明1.作用是增加了函数间数据的联系渠道,利用

4、全局变量的这个特性,可以在函数间传递数据2.不在必要时不要使用全局变量3.在同一个源文件中外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即不起作用6例5.7#includeintglobal;/*定义全局变量*/voidGlobalPlusPlus(void);main(){global=1;printf("BeforeGlobalPlusPlus(),itis%d",global);GlobalPlusPlus();printf("AfterGlobalPlusPlus(),itis%d",global);}

5、voidGlobalPlusPlus(void){printf("Before++,itis%d",global);global++;printf("After++,itis%d",global);}BeforeGlobalPlusPlus(),itis1Before++,itis1After++,itis2AfterGlobalPlusPlus(),itis2教材173页7例全局变量与局部变量同名#includeinta=3,b=5;max(inta,intb){intc;c=a>b?a:b;return(c);}main(){in

6、ta=8;pirntf("%d",max(a,b));}8供用户使用的内存空间的情况程序和数据分开存放,数据分别存放在静态存储区和动态存储区用户区程序区静态存储区动态存储区静态存储区:全局变量全部存放在其中,在程序执行时给全局变量分配存储区,程序执行完毕就释放.动态存储区:存放(1)函数的形式参数:在调用时分配存储空间(2)自动变量(未加static声明的局部变量)(3)函数调用时的现场保护和返回地址(背诵)9变量的存储类型存储类型是指数据在内存中的存储方式.是编译器为变量分配内存的方式,它决定变量的生存期.分类:静态存储:系统给变量在程序运行期间分配固定的存

7、储空间的方式动态存储:系统给变量在程序运行期间根据需要进行动态的分配存储空间的方式具体包含四种:自动的(auto),静态的(static)寄存器的(register),外部的(extern)10变量的存储类别auto(自动)变量例如:intf(inta){autointc=3;…}包括函数中的定义的局部变量和函数形参。动态分配存储空间,在函数被调时分配,调用结束时自动释放存储空间。变量中的值被释放可以缺省教材174页11static(静态)局部变量static(静态)局部变量例如:intf(inta){staticm=3;…}该局部变量占用的存储空间不释放,意

8、味着保留该变量的原值属于静态存储类别,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。