auto(自动存储类型):
一般用于在模块内定义的变量,数据在内存中自动开辟空间,自动释放。
当将一个变量声明为auto存储类型后,auto可以省略不写
eg:
auto int a; // 等价于 int a;
2.register(寄存器存储类型):
将声明的变量放在寄存器中参与运算,能够提高程序运行效率。
但是声明register类型不一定能申请到寄存器,如果申请不到,则与auto相同
eg:
register int a;
3.extern(外部调用存储类型):
在一个文件中,调用另一个文件中的全局变量
在编译时需要将两个文件一起编译
eg:
extern int a; //定义了一个外部调用的全局变量a,a会从其他一起编译的文件中查找
4.static(静态存储类型):
(1)修饰局部变量:延长局部变量的生命周期
(2)修饰全局变量:限制作用域,该全局变量仅在本文件中使用
(3)修饰函数:限制作用域,仅在本文件中使用
eg:
static int a;