我是靠谱客的博主 美丽马里奥,最近开发中收集的这篇文章主要介绍寄存器变量,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C/C++语言定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,称为寄存器变量
特点:读取和改变的速度更快,高速
语法形式:register 类型标识符 变量名
由于受硬件寄存器长度的限制,寄存器变量只能是char、int或指针型。寄存器说明符只能用于说明中的变量和函数中的形参,因此不允许将外部变量或静态变量说明为“register”。
下面比较两个程序的运算速度
程序一

main ( )
{
register int temp, i;
for ( i=0; i<=30000; i++ )
for ( temp=0; temp<=100; temp++ ) ;
printf ("okn");
}

程序二

main( )
{
int temp, i;
for ( i=0; i<=30000; i++ )
for ( temp=0; temp<=100; temp++ ) ;
printf ("okn");
}

程序一使用两个寄存器变量,程序二使用了两个自动变量除此之外完全一样。但运行时速度是不同的,程序一使用寄存器变量的程序要比程序二使用自动变量的程序要快。

注意点:
1.由于register变量使用的是硬件CPU的中的寄存器,寄存器变量无地址,所以不能使用去地址运算符“&”求寄存器变量的地址
2.一个计算机中寄存器数量是有限的,一般为2到3个,因此寄存器变量的数量不能太多。对于在一个函数中说明的多于2到3个的寄存器数量,C编译程序会自动地将寄存器变量变为自动变量。

最后

以上就是美丽马里奥为你收集整理的寄存器变量的全部内容,希望文章能够帮你解决寄存器变量所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部