关键字:register

1.铺垫

1.1 计算集中具有存储能力的硬件:cpu中的寄存器、cache,内存,硬盘等

1.2离cpu越近的存储硬件,效率越高,单价成本越贵;离cpu越远的存储硬件,效率越低,单价成本越便宜;

1.3程序未加载之前是在硬盘上的,运行的时候,是将程序加载到内存上的;本质上将程序加载到内存上,就是一种缓存技术;同样的计算机也可以将内存中的数据缓存到cpu的寄存器和cache中;也是一种缓存技术;

1.4对于任何一种硬件而言,都充当着上游硬件的缓存(内存看作是硬盘的缓存,cache或寄存器是内存的一种缓存)(上下游不好区分,主要看括号中的理解)

1.5缓存的根本目的:是为了让cpu访问数据的时候,以最小的成本,达到最高的效率

2.register(最快的关键字)

register:寄存器

register修饰变量:尽量把所修饰的变量,放入寄存器中,从而达到提高效率的目的;注意尽量,能放就放入寄存器,放不了,就别放;

什么样的变量可以采用放入寄存器呢?

1.局部变量(全局变量会导致cpu寄存器长时间被占用)

2.不会被写入的(写入就需要将数据写回内存,后续还要再次加载,register的意义就不存在了)

3.高频率被读取的(提高效率)

4.如果要使用,请不要大量使用,因为寄存器数量有限;

5.register修饰变量,不能取地址(取地址是内存相关的概念);

register int pass=100;

pass=200;                //可以更改变量

printf("%p\n",&pass)        //编译器报错,不可以取地址;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值