欢迎光临今时比装修网! 登录 免费注册

请问什么是寄存器变量

项静雅 更新时间:2015-05-17 12:00
补充:

请问什么是寄存器变量?寄存器变量有什么作用, 寄存器和存储器的区别是什么,知道的说下

我来回答
置顶回答
寄存器是与机器硬件密切相关的,不同类型的计算机,寄存器的数目是不一样的,通常为2到3个,对于在一个函数中说明的多于2到3个的寄存器变量,C编译程序会自动地将寄存器变量变为自动变量。
七月上 2015-05-17 12:00
3个回答
游客 2015-05-17 12:00
你好。很高兴为你解答。
在程序运行时,根据需要到内存中相应的存储单元中调用,如果一个变量在程序中频繁使用,例如循环变量,那么,系统就必须多次访问内存中的该单元,影响程序的执行效率。因此,C\C++语言还定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。

存储器(Memory)是现代信息技术中用于保存信息的记忆设备。其概念很广,有很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等。
不知道 2015-05-17 12:00
在程序运行时,根据需要到内存中相应的存储单元中调用,如果一个变量在程序中频繁使用,例如循环变量,那么,系统就必须多次访问内存中的该单元,影响程序的执行效率。因此,C\C++语言还定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。寄存器变量的定义形式是:
register 类型标识符 变量名
寄存器是与机器硬件密切相关的,不同类型的计算机,寄存器的数目是不一样的,通常为2到3个,对于在一个函数中说明的多于2到3个的寄存器变量,C编译程序会自动地将寄存器变量变为自动变量。
由于受硬件寄存器长度的限制,所以寄存器变量只能是char、int或指针型。寄存器说明符只能用于说明函数中的变量和函数中的形参,因此不允许将外部变量或静态变量说明为"register"。
register型变量常用于作为循环控制变量,这是使用它的高速特点的最佳场合。比较下面两个程序的运算速度。
游客 2015-05-17 12:00
你好,寄存变量是c语言提供了另一种变量,即寄存器变量。这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写,这样可提高效率。
寄存器变量是个临时变量,当调用完之后,会自动释放,以节约内存空间,提高程序效率。
寄存器变量没有地址,没有地址就不能用指针变量指向它。
寄存器变量的说明符是register,对于循环次数较多的循环控制变量及循环体内反复使用的变量均可定义为寄存器变量。
其他相识问题