类型修饰符关键字
对内存资源存放位置的限定,即资源属性中位置的限定
auto
1.1 定义:限制变量定义在栈空间上的修饰符
在定义一个变量后,默认变量分配的内存可读可写的区域(栈空间)
即:int a;==auto int a;
区域如果在{}里面,默认数据存储在栈空间。
register
2.1 定义:限制变量定义在寄存器上的修饰符
2.2 特点:
1.定义一些快速访问的变量。
2.编译器会尽量的安排CPU的寄存器去存放这个变量,如果寄存器空间不足,变量还是存储在存储器中。
3.不能取变量地址。
static
3.1 定义:静态变量
3.2 应用场景:
修饰3种数据:
1)函数内部变量
int fun()
{
int a;====>static int a;
}
2)修饰函数外部变量
int a;====>static int a;
int fun()
{
}
3)函数的修饰符
int fun() ===>static int fun()
const
应用:定义只读的变量
本意是为定义只能读不能改写的变量,但是还是可以通过特殊方法进行改写
extem
外部声明
volatile
5.1 定义:告知编译器编译方法的关键字,不优化编译
修饰变量的值的修改,不仅仅可以通过软件修改,还可以通过硬件修改。
int a=1;//当键入时,a=0.
if(a===0)
{
}
优化编译时,检测a在软件中不修改,则不进行取a地址操作,直接进入if判断。