存储类型关键字:auto、register、static、extern
auto、register
自动存储期:具有自动存储期的变量在进入声明该变量的程序块是被建立,它在该程序块活动时存在,退出该程序块时撤销。
auto 定义局部变量(自动填上,先在很少用了)
register 只是寄存器变量,把它修饰的变量保存在寄存器中。好处:寄存器是取值和修改最快的,所以把那些需要多次使用的变量保存在寄存器中是一种提高效率的做法。
static、extern
静态存储期:函数执行完,变量的值任然保存着
1.static
(1)a.c 和 main.c文件
main.c 中可用 a.c中的 函数和全局变量 ------static修饰(函数和全局变量) a.c中的(函数和全局变量)对于main.c中是不可见的
(2)static修饰变量 和 全局变量
静态储存区的内容(默认0) static修饰变量、全局变量 储存在静态储存区。
static修饰变量、全局变量 的区别是作用范围
2.extern
extern 是个声明他可以在任何地方声明 引用了一个全局变量 (可以试试 在main()函数执行完之后声明 也不会出错)