变量存储类别
[存储类别说明符] 类型标识符变量 [,变量];
存储类别说明符自动auto(缺省)、静态static、寄存器register、外部extern
Auto系统自动分配,存储在动态区
Static 存储在静态区,并且限定变量的作用域,只能是在定义它的文件内或函数内,其他文件和函数不得调用
Register 涉及反复运算时,将变量存储在CPU内部寄存器,避免每次内存访问,提高效率。实际上寄存器十分有限,且受数据类型限制,所以只在特殊操作中起作用!
Extern 当需要调用另一个文件内所定义的变量时,需要用到extern关键字。假设,
a.c
int a;
static int b;
int main(){ ……. return 0:}
b.c
extern int a;可以引用外部定义的int a
extern int b;不可以引用外部定义的int b,static限定int b只能在a.c中使用
int main(){ ……. return 0:}