第九回合:作用域和存储类型
A: 局部变量
局部变量也称为内部变量。局部变量是在函数内定义说明。
作用域:仅在声明的函数或复合语句内内,有效区也在函数或复合语句内。
B: 全局变量
全局变量也称为外部变量,是在函数外定义的变量。
作用域:整个与程序文件
PS: 局部变量和全局变量是按照作用域来划分的。
C: auto变量(自动变量)
在函数或复合语句内部,如不声明变量为static存储类型,则就称该变量为auto变量
PS:C 语言规定,关键字auto可以省略。
D: static变量(静态变量)
(1) 静态局部变量:是用static修饰的局部变量。
PS:静态局部变量保存在静态数据区,生命周期和程序相同。特别注意,静态局部变量只能在被定义的函数内使用!
(2) 静态全局变量:是用static修饰的全局变量。
PS:静态全局变量只能作用域声明的文件中,不能被其他文件引用。
E: register变量(寄存器变量)
用register修饰的局部变量,就是register变量。
PS:在C语言中允许将局部变量的值存放在CPU的寄存器中,声明egister变量是为提高执行效率。
F: 外部变量
外部变量:是由关键字extern声明的变量
作用域:从该变量的定义处开始,到本程序文件的末尾。
(复习做的笔记,还在整理中。。。。)