[开发资料] 存储相关的关键字

[复制链接]
49|2
存储相关的关键字:

register、static、const、auto、extern

register 是 寄存器的意思,用register修饰的变量是寄存器变量。即:在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。

注意:
(1):定义的变量不一定真的存放在寄存器中。
(2):cpu 取数据的时候去寄存器中拿数据比去内存中拿数据要快
(3):因为寄存器比较宝贵,所以不能定义寄存器数组
(4):register 只能修饰 字符型及整型的,不能修饰浮点型

  1. register char ch;
  2. register short int b;
  3. register int c;
  4. register float d;//错误的



(5):因为register 修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址。因为只有存放在内存中的数据才有地址。

  1. register int a;
  2. int *p;
  3. p=&a;//错误的,a可能没有地址


static 是静态的意思,static 可以修饰全局变量、局部变量、函数。

const 是常量的意思,用const 修饰的变量是只读的,不能修改它的值。const 可以修饰指针。

  1. const int a=101;//在定义 a 的时候用const 修饰,并赋初值为101


从此以后,就不能再给a赋值了。

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

OKAKAKO 发表于 2025-10-22 20:40 | 显示全部楼层
register 是 寄存器的意思,用register修饰的变量是寄存器变量
AdaMaYun 发表于 2025-10-23 15:00 | 显示全部楼层
在编译的时候告诉编译器这个变量是寄存器变量,尽量将其存储空间分配在寄存器中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

233

主题

2711

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部