1,auto
默认情况下,char a --> 实际就是auto char a;只是将auto省略了。
auto是一个可读可写的内存空间--栈空间
2,register
1,限制变量定义在寄存器上的修饰符,cpu上的寄存器(cpu内部内存),可以使变量不用指向内存,直接指向cpu的寄存器
2,定义一些快速访问的变量,编译器会尽量安排CPU的寄存器去存放这个这个A,如果寄存器不足,A还是会放在存储器中
3,无法访问变量的地址
register int a; a = 0x10; printf("%d",&a);
3,static
静态
修饰3中数据:
1>,函数内部变量
int fun() { int a; ==> static int a; }
2>, 函数外部的变量
int a; ==> static int a; int fun() { }
3>,函数的修饰符
int fun() ==> static int fun()
4 extern
外部声明
5,const
常量的定义,只读的变量,在c中还是有方法改变,因为它是个变量
6 volatile
告知编译器编译方法的关键字,不优化编译
修饰变量的值的修改,不仅仅可以通过软件,也可以通过其他方式(例如硬件)
时间: 2024-10-29 19:06:10