存储相关的关键字
register、static、const、auto、extern
register 是 寄存器的意思,用register修饰的变量是寄存器变量。即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。
注意:
(1):定义的变量不一定真的存放在寄存器中。
(2):cpu 取数据的时候去寄存器中拿数据比去内存中拿数据要快
(3):因为寄存器比较宝贵,所以不能定义寄存器数组
(4):register 只能修饰 字符型及整型的,不能修饰浮点型
register char ch;
register short int b;
register int c;
register float d;//错误的
(5):因为register 修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址。因为只有存放在内存中的数据才有地址。
register int a;
int *p;
p=&a;//错误的,a可能没有地址
static 是静态的意思,static 可以修饰全局变量、局部变量、函数。
const 是常量的意思,用const 修饰的变量是只读的,不能修改它的值。const 可以修饰指针。
const int a=101;//在定义 a 的时候用const 修饰,并赋初值为101
从此以后,就不能再给a赋值了。
extern 是外部的意思,一般用于函数和全局变量的声明。
|
|