第12章C语言中用户标识符的作用域和存储类.ppt
《第12章C语言中用户标识符的作用域和存储类.ppt》由会员分享,可在线阅读,更多相关《第12章C语言中用户标识符的作用域和存储类.ppt(16页珍藏版)》请在三一文库上搜索。
1、本章重点 12.1 局部变量、全局变量和存储分类 12.2 局部变量及其作用域和生存期 12.3 全局变量及其作用域和生存期 12.4 函数的存储分类,第12章 C语言中用户标识符的作用域和存储类,12.1 局部变量、全局变量和存储分类 12.1.1 用户标识符的作用域 标识符的作用域就是指程序中的某一部分,在这一部分中,该标识符是有意义的,可以被C编译和连接程序所识别。 例如,变量都有自己的作用域,在一个函数内定义的变量不能在其它函数中引用;变量的作用域与其定义语句在程序中出现的部位有直接关系。据此可以划分出局部变量和全局变量。,12.1.2 局部变量、全局变量和存储分类 1局部变量 在一个
2、函数内(或复合语句中)定义的变量称为内部变量,这些变量只能在定义它的函数(或复合语句)中使用,离开了定义它的函数(或复合语句)就不能使用,把这些变量称“局部变量”。例如: float func1(int a) int b; /*本函数中变量a,b有效*/,几点说明: (1)主函数中定义的变量m和n是局部变量,只能在主函数中有效,在其它函数中无效。 (2)不同函数中可以使用相同名字的变量,它们代表不同的对象,互不干扰。如func1函数中定义的b和func2函数中的b,它们占有不同的存储单元,是不同的变量。 (3)形式参数也是局部变量。形式参数也只能在本函数中有效,其它函数不能调用。如形式参数a只
3、能在func1函数中有效,形式参数x,y只能在func2函数中有效。,(4)在函数内部的复合语句中定义的变量,只在该复合语句中有效,出了复合语句就无效。在函数开始定义的变量也可以与复合语句中的变量相同,但它们代表的不是同一个变量,它们占用不同的存储单元。,2全局变量 在函数之外定义的变量称为外部变量,外部变量是全局变量,全局变量可以为本源程序中的所有其它函数所公有。它的有效范围是从定义变量的位置开始到本源文件结束。例如: int m,n;/* 定义两个外部变量m和n,其作用范围全局的即从此处到程序结束*/ void f1(a,b) int a,b; ,几点说明: (1)全局变量必须定义在函数之
4、外,如变量a、c、m和n。 (2)全局变量的有效范围是从定义的位置开始到整个程序的结束。如a和c的有效范围是整个程序,而m和n的有效范围仅是f1函数 (3)在一个函数中可以使用局部变量和相应的全局变量。 (4)局部变量可以和全局变量同名,若同名,在函数中使用的变量是局部变量。,3存储分类 变量具有数据类型,C语言的编译系统根据变量的数据类型给变量分配存储空间,用来存放该变量的值,也就是说变量的数据类型决定了变量占多少个存储单元。变量的存储类型有四个,分别是自动型、寄存器型、静态型和外部参照型,其说明符分别是auto、register、static和extern。,12.2 局部变量及其作用域和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 语言 用户 标识符 作用 存储
链接地址:https://www.31doc.com/p-3124375.html