C语言用作用用户标识符的,全国计算机等级考试实用应试教程二级C语言_第12章_C语言中用户标识符的作用域和存储类.ppt...

《全国计算机等级考试实用应试教程二级C语言_第12章_C语言中用户标识符的作用域和存储类.ppt》由会员分享,可在线阅读,更多相关《全国计算机等级考试实用应试教程二级C语言_第12章_C语言中用户标识符的作用域和存储类.ppt(16页珍藏版)》请在人人文库网上搜索。

1、在牙齿章节中,12.1本地变量、全局变量和存储分类12.2本地变量及其作用域和寿命12.3全局变量、作用域和寿命12.4函数存储分类、第12章c语言的用户标识符的作用域和存储类、12.1本地变量、全局变量和存储分类12.1.1用户标识符的变量区域标识符的范围指向程序的一部分。例如,变量具有变量区域本身,在一个函数中定义的变量可以在另一个函数中引用变量的作用域和定义语句与程序中出现的部分直接相关。因此,可以区分局部变量和全局变量。12.1.2局部变量、全局变量和存储分类1局部变量函数(或复合语句)内定义的变量称为内部变量,这些变量只能在定义这些变量的函数(或复合语句)中使用,不能在定义它们的函数。

2、(或复合语句)之外使用。这些变量称为“本地”,例如float func 1(int a)int b;/*牙齿函数变量a、b有效*/、几个茄子说明:(1)主函数中定义的变量m和n是局部变量,仅对主函数有效,对其他函数无效。(2)可以在徐璐其他函数中使用相同名称的变量,表示徐璐其他目标,不会妨碍徐璐。在Func1函数中定义的B和func2函数中,B徐璐占据其他存储设备,是徐璐其他变量。(3)格式参数也是局部变量。格式参数也仅在牙齿函数内有效,不能进行其他函数调用。格式参数A仅在func1函数内有效,格式参数X,Y仅在func2函数内有效。(4)函数内部复合语句中定义的变量仅对该复合语句有效,出现复。

3、合语句时无效。在函数启动时定义的变量也可以与复合语句中的变量相同,但不是表示相同的变量,而是徐璐占用不同的存储设备。2在全局变量函数外部定义的变量称为外部变量,外部变量为全局变量,全局变量可以是牙齿源程序中所有其他函数的公用变量。有效范围从定义变量的位置开始,一直到源文件的结尾。示例:int m、n;/*退出节目*/void f1(a,b) int a,b;几个茄子说明:(1)全局变量必须在函数外部定义,如变量a、c、m、n。(2)全局变量有效范围从定义的位置到整个程序的结束。a和C的有效范围是整个程序,但是M和N的有效范围只有f1函数(3),在一个函数内,局部变量及其全局变量都可以使用。(4。

4、)局部变量可以与全局变量名称相同,如果名称相同,则函数中使用的变量为局部变量。3存储的分类变量具有数据类型,C语言的编译系统根据变量的数据类型为变量分配存储空间来存储变量的值。换句话说,变量的数据类型决定变量占用的存储单元数。变量有四种茄子存储类型:自动、寄存器、静态和外部参照,描述符分别为auto、register、static和extern。12.2局部变量、作用域和寿命12.2.1 auto变量在函数内部或复合语句内定义变量时,如果未指定存储类或使用auto说明符,则假定定义的变量具有自动类别。范例:float a;与自动浮点a相同。12.2.2注册表变量寄存器变量也是自动类变量。牙齿变。

5、量与auto变量的不同之处在于,寄存器变量不是像常规变量那样占用内存单元,而是分配给CPU的常规寄存器。在12.2.3静态存储类的本地变量函数主体(或复合语句)中,使用static说明可以称为静态本地变量的变量。作用域与auto、register类型的变量相同。12.3全局变量、作用域和寿命12.3.1全局变量作用域和寿命全局变量静态类别。全局变量名称可以使用extern和static说明符。全局变量是在函数外部的任意位置定义的变量,作用域从变量定义的位置开始,一直到整个源文件结束。12.3.2在同一编译单元内,通过extern描述符扩展全局变量作用域全局变量定义位于引用函数之后,则必须使用e。

6、xtern说明函数内的所有牙齿变量,以通知编译器不再需要打开存储设备。现在,从extern说明扩展到作用域函数结尾。与定义不同,全局变量说明只能出现一次定义,并且定义全局变量时不能使用extern说明符。全局变量说明可以在需要的地方出现多次,并且必须用extern进行说明。如果使用12.3.3 extern说明符徐璐在其他编译单元中扩展全局变量作用域c语言,则可以单独编译的每个源文件称为编译单元,如果程序由多个编译单元组成,并且每个文件需要相同的全局变量引用,则在每个文件中定义一个具有所需名称的全局变量,这是“连接”牙齿的解决方法,通常是在档案之一中定义所有变量,然后在使用这些全局变量文件的其。

7、他文件中使用extern声明这些变量已在其他编译单元中定义,这样编译器就不必再打开存储设备,使用12.3.4静态全局变量静态描述符描述全局变量时,牙齿变量称为静态全局变量。静态全局变量仅限于牙齿编译单元,不能被其他编译单元引用。12.4函数存储分类12.4.1说明了函数外部函数(使用extern)牙齿可以由其他文件中的函数()调用的函数(在函数定义中,如果在“类型指示符”前附加“extern”,则为外部函数)。定义格式如下:extern类型指示符函数名称(格式引用说明列表)如果在定义函数时忽略extern,则抑制外部函数。如果使用12.4.2 static只能在牙齿文件的其他函数内调用一个函数描述函数,而不能在其他源文件中的函数(内部函数,也称为静态函数)内调用一个。定义内部函数时,必须在数据类型字符之前添加static(有时函数存储类型为static)。定义格式如下:静态类型指示符函数名称(格式引用说明列表)静态函数使用函数名称,以避免徐璐其他编译单元混淆。强制静态函数调用将生成错误消息。而且。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值