一。存储持续性:数据保留在内存的时间
分为4个不同的存储链接性方案:
(1)自动存储持续性:在函数内定义的变量以及其参数,在程序执行的时候创建,在函数结束之后内存被释放
(2)静态存储持续性:在函数外定义的变量或者使用static定义的变量,他们在整个运行的过程中都存在,不会因为调用该函数,而进行初始化,他们的值是一直被“累加的”
(3)线程存储持续性:多线程并行时设置的
(4)动态存储持续性:由new来进行动态的分配内存,分配的内存一直在,直到delete释放,有时被称为自由存储或堆
二。作用域:变量或者函数作用的范围
变量有全局和局部的作用域
函数只有整个类或者名称空间,不能是局部的
三。链接性:名称如何在不同的单元进行共享
(1)链接性为外部的可在文件间共享,如变量
int a = 10;在整个函数的外面定义的,那么其他的文件可以使用它,即:
extern int a; 在其他的文件就不能定义它了,只能声明它(定义是给他分配空间,声明只是引用已经定义好的变量)
(2)链接性为内部的只能在文件中内部的函数共享
在函数外部定义,使用static
(3)无链接性的
在函数内部定义,使用static
static 可以使外部链接变成内部链接