www.ysbm.net > C语言rEgistEr用法

C语言rEgistEr用法

被标识为register的变量存储在cpu寄储器中,cpu访问寄存器内存极快,一般可用于,大循环体内,提高循环效率.用法:register int nTmp;

首先声明是计算机,不是计算器,很明显你说的东西比计算器大很多,然后CPU是计算机的大脑,能够飞快的计算数据,它计算数据要把结果放到内存中,当然也是从内存中取得的数据,然后你的INT类型相当于在内存中写了个数,CPU用到的话,就自己去取,而CPU还可以从寄存器中取得数据,并且,寄存器比内存这种东西小巧方便,离CPU非常近,因此存取也方便,但是大小不及内存.你说的提速,可以这么理解,首先知道寄存器比内存快对吧,然后,假设一个变量要用到一万次,那么减小一点儿存取的世界,是不是很有必要?所以当数据要频繁使用的时候,就要寄存器了

register是做声明的,为了提高效率.C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫寄存器变量 我们常用定义变量存放在内存中!而register是指寄存器变量.寄存器是cpu的存储部件,即是高速缓存,通常不大,最多几mb.定义这个变量适用于频繁使用某个变量,以加快运行速度,因为保存在寄存器中,省去了从内存中调用,要注意定义了这个变量后,不能取地址!!就是不能使用&符号,这与一般不同.

register声明的变量会被放到CPU的寄存器里,不用从内存取,所以更快,就像你口袋有面包就不用到百米开外的超市买一样.register是一个"建议"型关键字,意指程序建议该变量放在寄存器中,但最终该变量可能因为条件不满足并未成为寄存器变量,而是被放在了存储器中,所以可以不用纠结这个关键字.

register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度.const限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助.static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用.extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.另外,extern也可用来进行链接指定.

从词汇上讲,register作为动词,有注册、登录、记录等意思,作为名词,指记录器、【计算机】寄存器. 为了提高效率,C语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫寄存器变量,用关键字register做声明.是存储类型的一种.

C语言中,register表示请求编译器把这个数据存储在寄存器中.寄存器是CPU里面的一块能够快速访问的地方,比内存还快.通过register,编译器能知道这个变量需要很快的速度,并对它进行优化.不过,register只是“请求”编译器把数据存储到寄存器中,并不能保证这个数据一定在寄存器中,由于某些原因(比如寄存器不够用或编译器认为没必要)可能不会被存储到寄存器中.另外,寄存器没有地址,所以对register变量取地址是不会编译通过的,即使编译器没有把它存到寄存器中.

c语言中的关键字register代表寄存器存储类型.register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在cpu的寄存器中,以加快其存储速度.这个关键字请求编译器尽可能的将变量存在cpu内部寄存器中而不是通过内存寻址访问以提高效率.

我借用一个网络教程上的一些话,来给你解释一下:不知道什么是寄存器?那见过太监没有?没有?其实我也没有.没见过不要紧,见过就麻烦大了.^_^,大家都看过古装戏,那些皇帝们要阅读奏章的时候,大臣总是先将奏章交给皇帝旁边的

网站地图

All rights reserved Powered by www.ysbm.net

copyright ©right 2010-2021。
www.ysbm.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com