存储相关的关键字:
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 是外部的意思,一般用于函数和全局变量的声明。
————————————————
版权声明:本文为CSDN博主「害恶细君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50216991/article/details/141871740
|