c语言关键字:auto和register
<1>最宽恒大量的关键字----auto
如何使用:一般在代码块定义的变量,即局部变量,默认都是auto修饰的。
但是,并不是所有的变量都由auto修饰,一般是局部变量。
局部变量、自动变量、临时变量统称为局部变量
<2>最快的关键字---- register(寄存器)
寄存器离cpu近,速度快
寄存器的认识–>cpu内集成的一组存储硬件
寄存器的本质:在硬件层面上,提高计算机的运行效率。因为不需要从内存里读取数据。
register修饰变量(变量就没存在内存中,在寄存器中,申请在寄存器中,在不在还不一定):
尽量将所修饰的变量,放入cpu寄存区中,从而达到提高效率的目的。
1.局部的(全局会导致cpu寄存器被长时间占用)
2.不会被写入的
3.高频被读取的
4.如果要使用,请不要大量使用,因为寄存器数量有限
使用 register 修饰符的注意点
虽然寄存器的速度非常快,但是使用 register 修饰符也有些限制的:register 变量必须是
能被 CPU 寄存器所接受的类型。意味着 register 变量必须是一个单个的值,并且其长度应小
于或等于整型的长度。 而且 register 变量可能不存放在内存中,所以不能用取址运算符“&”
来获取 register 变量的地址。