「C语言」寄存器变量与内存变量 | 您所在的位置:网站首页 › 什么是变异变量和变量值 › 「C语言」寄存器变量与内存变量 |
参考链接: 寄存器变量是什么?及它的存储种类有哪些? 静态变量、自动变量与寄存器变量的存储 寄存器变量-百度百科 前两天看师兄给的C语言的一本小册子,看到: 内存变量或寄存器变量是指进程运行过程中的变量是在内存中还是在寄存器中的变量。 以前学的时候从来没有注意过,内存变量和寄存器变量指的是什么呢?这里和语言中声明的全局变量、局部变量都不是很一样,这里对自己搜集的资料进行一个梳理。 来自百度百科 寄存器变量主要指C语言\C++语言定义的不是保存在内存上,而是直接存储在CPU中的寄存器中。 内存变量指存储在内存的存储单元中的变量,但是如果一个变量在程序中频繁使用,比如循环使用,就需要对内存多次进行访问,这样会影响程序的执行效率。 一般的定义格式为: int main() { register int temp; }由于寄存器的限制,所以寄存器的数目一般被限制起来,一旦超过限定的数目,C程序会自动将寄存器变量转换成普通的变量。而且寄存器的长度一般比较小,所以一般只存储char、int或者指针类型。一般只用于函数中的变量或者形参,而不允许用于外部变量或静态变量。 register最常用的就是作为循环控制变量等需要高速运行的场合。 查看以下程序,可以看出时间区别: #include #include int registertest(); int withouttest(); int main() { registertest(); withouttest(); } int registertest() { clock_t start, finish; double time; start = clock(); register int temp, i; for(i=0;i |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |