存储类别、链接和内存管理
概念
-
对象:一块存储数据的内存
-
存储期:对象在内存中保留了多长时间
-
翻译单元:源代码文件和头文件可以看成一个包含信息的单独文件,即翻译单元
作用域
描述程序的哪些部分能使用变量
链接
无文件作用域的变量都是无链接变量
外部链接变量可以在多文件程序中使用,内部链接变量只能在一个翻译单元使用。(都具有文件作用域)
存储期
静态存储期
static 静态变量:在程序执行期间一直存在,即离开变量所在函数后,变量不会消失。
ps:如果未初始化,静态变量将会被设置为0
文件作用域变量都具有静态存储期。()
static int stay = 1; //内部链接
int traveler = 1; //外部链接
多文件
如果外部变量被定义在一个文件中,其他文件在使用该变量之前必须用extern声明它