1. 存储说明符和cv-限定符
- auto
- register
- static
- extern
- mutable
- const
- volatile
2. auto 自动变量。
3. register 寄存器变量。
4. static 静态变量,用于作用域为整个文件的声明时,表示内部连接性;用于局部声明时,便是局部变量的存储持续性为静态的。
5. extern 表明是引用声明,引用其他地方定义的变量。
6. mutable 指出即使结构体(或类)变量为 const,被关键词 mutable 修饰的成员也可以被修改。
struct data{ char name[30]; mutable int accesses; }; const data veep = {"Claybourne Clodde", 0}; strcpy(veep.name, "Joye Joux"); //invalid veep.acesses++; //valid
7. volatile 即使程序代码没有对内存单元进行修改,其值也可能发生变化。该关键字的作用是为了改善编译器的优化能力。