类型修饰符:
1. auto --> 默认情况:分配的内存可读可写区域
区域在{ }中,保存在栈空间
2. register--》尽量限制变量定义在寄存器上的修饰符
&这个符号对register不起作用;
register int a;
3. static
--》1)修改函数内变量;
2)修饰函数外变量;
3)函数的修饰符;
4. const -->常量定义, 只读变量;(建议性)
char * const p; //指向固定地址; 硬件资源
const char * const p;// 指向固定位置固定char类型的指针
5. extern --> 外部申明
6. volatile -->告知编译器编译方法的关键字,不优化编译 ,防止优化指向内存地址
修饰变量的值的修改,不仅仅可以通过软件,也可以通过其他方式(硬件外部的用户)
volatile char *p;//防止指针被优化,无法取到正确值
7. 二维指针
char **argv;