以太网GigEpack

先进的千兆位以太网,可完全接入微芯片的新产品组合GigEpack是一个完整的59千兆以太网芯片组合,具有高级功能。

嵌入式调制解调器

支持直接在板上运行的定制MicroPython应用,开发人员将其集成到现有设计中,即时实现蜂窝集成无需进行全面的重新设计。

AVX柱式超级电容器的解决方案

巧妙地融合了极高电容与极低ESR,具有出色的脉冲功率处理特性。 该电容器既可单独使用,也可与一次或二次电池结合使用。

分享到:
0分

寄存器变量

寄存器变量,在计算机技术中经常会遇到的词语,那究竟什么是寄存器变量呢?我们应该怎样去了解它那边合适呢?本文收集整理了一些资料,希望对大家有帮助!  ---查看全文 >>

关键字:寄存器 变量 

寄存器变量

寄存器变量,在计算机技术中经常会遇到的词语,那究竟什么是寄存器变量呢?我们应该怎样去了解它那边合适呢?本文收集整理了一些资料,希望对大家有帮助!
 寄存器变量的设置
寄存器变量的设置
变量一般情况下都存在于内存中。如果程序需要使用某个变量,CPU的控制器将从内存中取得变量值后会将其暂存在寄存器中。寄存器就是CPU自己的"小内存",它的特点是"容量小、速度快"。正常情况下,编程语言本身无法直接操作寄存器。但某些时候,一些变量可能会被频繁地使用,这时,频繁地对内存进行存取操作就会耗费较多的时间;如果我们能够有效地利用CPU的寄存器,就会显著提升程序的运行效率。
 
    C语言中使用关键字register来声明局部变量为寄存器变量。寄存器变量的值会被存放在CPU的寄存器中,每当需要使用它们时,CPU就可以直接使用,而无须再通过控制器从内存中获取。由于操作寄存器的速度远高于操作内存,所以正确地使用寄存器变量能够有效地提高程序运行效率。register型变量常被用于作为循环控制变量,这能充分体现它的高速特点。
  变量的地址表达式或段寄存器名
 变量的地址表达式或段寄存器名
但是,我们必须明确只有局部自动变量和形式参数才能够被定义为寄存器变量,全局变量和局部静态变量都不能被定义为寄存器变量。而且,一个计算机中寄存器数量是有限的,一般为2到3个,因此寄存器变量的数量不能太多。对于在一个函数中说明的多于2到3个的寄存器变量,C编译程序会自动地将寄存器变量变为自动变量。 受硬件寄存器长度的限制,寄存器变量只能是char、int或指针型,而不能使其他复杂数据类型。由于register变量使用的是硬件CPU中的寄存器,寄存器变量无地址,所以不能使用取地址运算符"&"求寄存器变量的地址。
#include<stdio.h>
void main()
{ register int i, f = 1;       /* 定义寄存器变量 */
 for( i=1; i<5; i++ ) {
          f = f * i; printf( "%d ", f );
 }
}
    寄存器变量只能用做局部变量,它不能太多,因寄存器有限。寄存器变量太多时,编译系统将其自动转为自动变量。
    有些C语言教材认为PC机上的C编译系统中,寄存器变量无作用,这一说法是错误的。
 
关于“寄存器变量”的问题就先介绍到这里,希望对大家有些帮助,如大家还有疑问或者想了解更多,大家可以登录电子元件技术网www.cntronics.com或我爱方案网www.52solution.com查看!

本文链接:http://baike.cntronics.com/abc/2933

‘寄存器变量’相关内容

  • 如何选择最佳放大器驱动SAR模数转换器

         SAR ADC在模数转换器世界中被广为使用。一般而言,这类ADC介于高分辨率、低速Δ-Σ(增量累加)ADC和高速、较低分辨率的流水线型ADC之间。凭借其无延迟特性,在很多应用中,SAR ADC常常是比Δ-Σ ADC和流水线ADC更好的选择,这些应用包括:具有多路复用信号的应用,在任意空闲周期之后需要实现准确首次转换的应用(如自动化测试设备),以及ADC位于需要快速反馈的环路内的应用。

分享到: 0
推荐给同仁
0
0
查看全部评论
有人回复时发邮件通知我

关于我们 | About Us | 联系我们 | 隐私政策 | 版权申明 | 投稿信箱

反馈建议:editor@eecnt.com     客服电话:0755-26727371

Copyright © WWW.CNTRONICS.COM  All Rights Reserved 深圳市中电网络技术有限公司 版权所有   粤ICP备10202284号-1 未经书面许可,不得转载本网站内容。