第06讲 作用范围和存储类别.ppt

第06讲 作用范围和存储类别.ppt

ID:48795020

大小:360.50 KB

页数:36页

时间:2020-01-25

第06讲 作用范围和存储类别.ppt_第1页
第06讲 作用范围和存储类别.ppt_第2页
第06讲 作用范围和存储类别.ppt_第3页
第06讲 作用范围和存储类别.ppt_第4页
第06讲 作用范围和存储类别.ppt_第5页
资源描述:

《第06讲 作用范围和存储类别.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六讲作用范围和存储类别第六讲作用范围和存储类别标识符的作用范围变量的存储类别包含多个源文件的程序编译和链接外部函数内部函数名称空间C++语言程序设计2简介变量定义的完整格式:存储类别数据类型变量名数据类型占用存储空间的大小取值范围存储类别在内存中持续的时间(生存期)在硬件中存放的位置其它属性作用范围可以被引用的程序部分(可见性)作用范围和存储类别3作用范围程序中的所有标识符构成了名称空间。需要一个机制来避免和解决名称的冲突问题。标识符的作用范围能够引用该标识符的程序部分。有四种作用范围:文件作用范围函数作用范围程序块作用范围函数原型作用范围作用范围和存储

2、类别4作用范围文件作用范围在函数外声明的标识符,可以在所有函数中被引用。包括:全局变量(在函数外定义的变量),函数。作用范围和存储类别inttotal;intmax(int,int);voidmain(){…}intlimit;intmax(intx,inty){…}作用范围从声明的位置开始,到文件的末尾。5作用范围函数作用范围在函数体内定义的标识符,只能在函数体内被引用。包括:语句标号(无需单独声明)作用范围和存储类别voidmain(){…gotoloop;…loop:…;}6作用范围程序块作用范围在程序块内声明的变量,在程序块内被引用。包括:程序块内

3、定义的变量(局部变量),函数的参数。作用范围和存储类别intmax(intx,inty){…}voidmain(){inta;…{inta;…}…}作用范围从声明的位置开始,到程序块的右大括号覆盖同名变量,内部变量“覆盖了”外部变量7作用范围函数原型作用范围函数原型中的参数。作用范围和存储类别intmax(intx,inty);voidmain(){…}intmax(intx,inty){…}8关于声明和定义定义声明定义一个标识符,同时也是声明。对于变量,定义意味着创建,即为其分配内存。对于函数,需要给出函数体。引用声明只是声明一个需要引用的标识符。例如函

4、数的原型变量的引用声明需要带extern作用范围和存储类别9存储类别四种存储类别说明符autoregisterexternstatic两种存储时期自动存储时期autoregister静态存储时期externstatic作用范围和存储类别10自动存储类别自动存储程序执行到变量所在的程序块内时创建它,退出时销毁。不会被自动初始化。auto(自动变量):局部变量的缺省类别。程序块中定义的变量,函数的参数。register(寄存器变量):建议编译器把变量放进CPU的寄存器。只适用于自动变量。作用范围和存储类别autointa,b;registerintcount=

5、1;11静态存储类别静态存储程序开始执行时创建,在程序执行期间,变量一直存在。自动被初始化,缺省初值:0或‘’。static(静态局部变量):可以用于局部变量。退出程序块后依然存在,并保留值。但不改变其作用范围,即只能在所在的程序块内被使用。extern(外部变量):用来声明在“外部”定义的全局变量。仅用于声明变量。作用范围和存储类别staticinta,b;externinttotal;全局变量具有静态存储期12案例分析:存储类别存储类别读下面的程序,写出结果。(cw0601.cpp)作用范围和存储类别voidtest(inta){autointb=

6、10;staticintc=10;b++;c++;cout<<"a="<

7、为静态类的局部变量。栈:保存函数调用时的返回地址、函数的形参、自动局部变量,以及CPU的当前状态。堆:自由内存区域。程序代码静态存储变量堆栈程序可以访问的内存区域。数据段代码段动态存储区用户区静态存储区15案例分析:外部变量外部变量(cw0602.cpp)作用范围和存储类别#includevoidmain(){externinta;intc=3;cout<<"a="<

8、1innerc=5c=316案例分析:作用范围与存储类别作用范围与

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

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

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