[其他] C语言中存储相关的关键字

[复制链接]
69|2
LOVEEVER 发表于 2025-10-31 17:46 | 显示全部楼层 |阅读模式
存储相关的关键字
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 是外部的意思,一般用于函数和全局变量的声明。

小小蚂蚁举千斤 发表于 2025-10-31 22:37 | 显示全部楼层
register 是 寄存器的意思,用register修饰的变量是寄存器变量
小小蚂蚁举千斤 发表于 2025-10-31 22:37 | 显示全部楼层
static 是静态的意思,static 可以修饰全局变量、局部变量、函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

353

主题

2803

帖子

7

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