一、存储说明符
1、auto 自动变量,通常省略,没有链接性,自动存储持续,作用域的范围为该变量所在的代码块;
2、register 寄存器变量,声明指示寄存器存储类型,该变量不会存于内存当中,故而没有地址,不能对其采用取地址运算符&;
3、static 当其用在作用域为整个文件的声明中时是外部链接性;被声明为局部声明中,表明局部变量的存储持续性为静态。所谓存储持续为静态是指当被声明时,生存时间一直持续到整个项目结束;大致为三类:a、外部链接性:int a=10;b、内部链接性:int static a=10;无链接性的静态变量:int static a=10【声明在函数块的内部】;
4、extern 用于引用声明,重新声明已经存在的外部变量,以共享该变量属性,特别注意:在使用extern时不能对其重新初始化,因为初始化是指:在开辟内存的同时对其赋值;
5、mutable 主要用于:即使结构或类对象时const时,其某个成员(mutable)同样可以被修改。