存储类
2019-05-20 本文已影响0人
吃柠檬的鸮
存储类分为两类:自动存储类(automatic)和静态存储类(static)。
自动存储类对象对于一个程序块来说是局部的,在退出程序时该对象消失。
如果没有使用存储类说明符,或者如果使用了 auto 限定符,则程序块的声明生成的都是自动存储类对象。声明为 register 的对象也是自动存储类对象,并且将被存储在机器的快速寄存器中。
静态对象在退出和再进入函数和程序块时其值保持不变,静态对象用关键字 static 声明。
在所有程序块外部声明且与函数定义在同一级的对象总是静态的,可以通过 static 关键字将对象声明为某个特定翻译单元的局部对象,这种类型的对象将具有内部连接。
当省略显式的存储类或通过关键字 extern 进行声明时,对象对整个程序来说都是全局可访问的,并且具有外部连接。