`
BestUpon
  • 浏览: 290133 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
社区版块
存档分类
最新评论

register 变量

阅读更多

为了提高效率,C语言允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。

 

1) 只有局部自动变量和形式参数可以作为寄存器变量;

2) 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;

3) 局部静态变量不能定义为寄存器变量。

分享到:
评论

相关推荐

    如何合理设置C语言变量.pdf

    例如,在对带有一个register变量的程序进行分析,我们可以看到,register变量的存储类型是通过语句push si和mov si,0001来实现的,这样可以使CPU对变量a的操作速度远远超过内存变量的操作速度。 三、static变量的...

    c代码-register变量

    在C语言中,`register`关键字是用来声明变量的,它暗示编译器尽可能将该变量存储在CPU的寄存器中,而不是存储在内存中。这样做的目的是为了提高程序的运行速度,因为访问寄存器比访问内存更快。然而,是否能够成功地...

    变量的存储小结

    register变量也是具有自动存储期的局部变量,作用域限定在声明它的代码块内。 extern关键字用于在当前文件中引用其他文件定义的全局变量或函数,是一种外部链接。它没有存储类属性,不分配存储空间,但可以扩展变量...

    谈谈C语言中的变量 (1).pdf

    变量的存储类型包括自动变量、静态变量、 extern 变量、-register 变量等。 本文对C语言中的变量概念、定义、数据类型和存储类型等知识点进行了详细的讨论和总结,希望对初学者学习C语言有所帮助。

    C++ 作用域规则

    register 变量只能在一个块中声明(不可能有全局的或静态的 register 变量)。然而可以在一个函数中(即在参数表中)使用 register 变量作为一个形式参数。 4. 静态变量 关键字 static 有一些独特的意义。通常,...

    C语言全书word版CHAR08

    8 函 数 1 8.1 概述 1 8.2 函数定义的一般形式 3 8.3 函数的参数和函数的值 4 8.3.1 形式参数和实际参数 4 8.3.2 函数的返回值 5 8.4 函数的调用 6 ...8.9.4 register变量 22 8.9.5 用extern声明外部变量 23

    c++宏、函数期末重点.doc

    在 C++ 中,变量的存储类别可以分为四种,一种是 auto 变量,另一种是 static 变量,第三种是 register 变量,第四种是 extern 变量。auto 变量是默认的存储类别,static 变量只初始化一次,register 变量是高速缓存...

    2020C语言试题A.doc

    * 了解C语言的变量声明和初始化,包括静态变量、extern变量、register变量等。 * 了解C语言的数据类型转换,包括隐式转换和显式转换。 * 了解C语言的运算符优先级,包括算术运算符、比较运算符、逻辑运算符、赋值...

    c++堆栈等关键词的总结

    register 存储类型声明为 register 的变量在由内存调入到 CPU 寄存器后,则常驻在 CPU 的寄存器中,因此访问 register 变量将在很大程度上提高效率,因为省去了变量由内存调入到寄存器过程中的好几个指令周期。...

    C++面向对象程序设计重点复习资料.doc

    * C++语言中的变量可以分为四种存储类型:自动变量、静态变量、extern变量和register变量。 * 变量的存储类型决定了变量的生命周期和作用域。 十一、友元函数 * 友元函数是类的朋友,能够访问类的私有成员。 * ...

    C语言习题集合(函数).pdf

    16. 函数形参可以说明为register变量,以提高函数的执行效率。 知识点:register变量、函数形参 17. 在C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是int类型。 知识点:函数值类型、隐含类型

    编译原理_计算器_C++实现

    在 eval_exp2 函数中,我们使用了 register 变量来存储操作符,然后使用 switch 语句来进行加减运算。在 eval_exp3 函数中,我们使用了 register 变量来存储操作符,然后使用 switch 语句来进行乘除运算。在 eval_...

    C语言上机测试.ppt

    register类型变量试图存储在CPU的通用寄存器中,提高访问速度,但数量有限制,超出限制的register变量会被当作auto处理。static类型的变量在整个程序运行期间保持其值,即使跨越函数调用,它在内存中也占有固定位置...

    浅谈C语言的数据存储

    register变量的生命周期与auto变量类似,但其存储位置可能在寄存器中。 除了以上内容,C语言的数据存储还包括结构体、联合体、枚举等复合数据类型。结构体允许我们将不同类型的数据组合在一起,形成更复杂的数据...

    单片机的存储器.doc

    2. register变量存储在CPU寄存器中,以提高访问速度,通常用于频繁使用的变量,仅限int和char型。 3. static变量在程序的静态存储区分配空间,其值在函数调用之间保持,适用于需要持久保留的变量。 4. extern变量...

    (完整版)(考研复试)C语言笔记.doc

    register 变量,只有局部变量和形式参数可以作为寄存器变量,寄存器数目有限的,局部静态变量不能,局部静态变量不能为寄存器变量 21. extern 变量 外部变量跨文件使用的方法是,在文件 1 中函数外定义外部变量 ...

    基于DSP环境下C语言的编程优化.pdf

    - **register变量**:对于频繁访问的循环变量,可以声明为register变量,提高访问速度。但需要注意,register关键字并不保证变量一定存储在寄存器中,而是提示编译器尽可能这么做。 **3. 结构和函数优化** - **...

    单片机之静态局部变量static

    在C语言中,一共有三种局部变量:auto变量、static局部变量和register变量。auto变量是默认的局部变量,自动变量属于动态存储类别,占动态存储区空间而不占静态存储区空间,函数调用结束后即释放。register变量是...

Global site tag (gtag.js) - Google Analytics