(1)extern:置于变量或函数前,表示变量或者函数的定义在别的文件中,编译器遇到此变量或函数时,在其它模块中寻找其定义
(2)register:暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度(register变量必须是能被CPU所接受的类型。这通常意味着register变量必长度应该小于或者等于整型的长度。因为register变量可能不存放在内存中,所以不能用“&”来获取register变量的地址。)
(3)static :声明内部函数,保持变量的持久性(被声明的局部变量具有和全局变量一样的存储位置:静态存储区,而不是在堆栈但是作用范围不变),被声明的变量默认初始化为0
(4)const :声明常类型,常类型的变量或对象的值是不能被更新的
(6)typedef:用以给数据类型取别名以及简化复杂的类型声明(如下)
(7)volatile:作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。精确地说就是,优化器在用到这个变量时必须每次都小心地从内存中重新读取这个变量的值,而不是使用保存在寄存器里的备份