const:
现代的C编译器中的const将具有全局生命周期的变量储存于只读存储区
const修饰局部变量是在栈上面分配空间(可以通过指针修改)
const修饰的static局部变量是在只读存储区分配空间(无法修改)
const 不能定义真正意义上的常亮,定义的是只读变量
const修饰函数参数表示在函数体内不希望改变参数值
const修饰函数返回值表示返回值不可以改变,多用于返回指针的情形
C语言中的字符串字面量存储于只读存储区中,在程序中需要用const char *指针
volatile:
volatile可以理解为编译器警告指示字“”
volatile告诉编译器必须每次去内存中取变量值
volatile主要修饰可能被多个线程访问的变量
volatile也可以修饰可能被未知因素更改的变量