1. Static:
1)修饰全局变量:只能在本文件中使用,否则可在整个工程中使用。在静态储存区,默认值为0.
2)修饰局部变量:作用域为本函数,只初始化一次
3)修饰函数:作用域为本文件(储存在txet段)
2. Const:
1)修饰变量:变量的值不可更改,只读。
2)修饰指针:const int *a (指向的整形数不可更改,但指针指向可以)
int *const a (指针指向的整形数可以更改,但指向的地址不能更改)
int const *a (指向的整形数不可更改,指向可以)
3)利于程序维护
3. volatile:
防止编译器优化,该变量会从内存中重新装载内容,而不会在寄存器中拷贝内容。
1) 并行设备的硬件寄存器
2) 中断服务子程序中会访问到的非自动变量
3) 多线程应用中被几个任务共享的变量
4. typedef
该别名,不单独分配储存空间