【关键字】——register在C语言中的使用

  • register——寄存器

register
了解register之前,应该先认识认识寄存器,何为寄存器?

在计算机中,数据可以存储在远程二级存储(网盘,服务器),本地二级存储(本地磁盘),主存(也称内存),高速缓冲,还有寄存器。

早期内存读写速度与CPU的运行速度相当,CPU可以利用内存完成绝大多数的数据处理,而随着CPU的的运行速度的提升,内存读写速度已经无法满足CPU,于是设计出了存储空间比内存小很多,但是运行速度足够快的寄存器。

寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果,即寄存器集成在CPU上。

寄存器是 CPU 的高速缓存 LI、 L2,缓存容量是在组装计算机时必问的 两个CPU 性能问题之一。缓存结构和大小对 CPU 的运行速度影响非常大,毕竟 CPU 的运行速度远大于内存的读写速度,更远大于硬盘。基于执行指令和热点数据的时间 局部性和空间局部性, CPU 缓存部分指令和数据,以提升性能。但由于 CPU 内部空 间狭小且结构复杂,高速缓存远小于内存空间。

寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。

如果我们设置一个变量

int main(void)
{
	int i = 10;

	printf("%d\n",i);
	return 0;
}

原来这个变量i在内存中的栈区存储

int main(void)
{
	register int i = 10;

	printf("%d\n", i);
	return 0;
}

这里使用register可以让变量i的存储位置更换在寄存器上,以加快运行在处理变量i时的运行速度。

【注意】:现阶段的编译器的处理数据已经很强大,所有编译器会自动将需要进行快速处理的数据放在寄存器中,以便加快运行速度。

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值