寄存器变量使用
c寄存器变量在语言中是什么意思?
c寄存器变量在语言中是什么意思?
C语言中的寄存器变量是靠近寄存器的空间。
一般来说,人们在使用C语言定义寄存器变量时应遵循以下步骤。
首先,我们输入寄存器变量关键字【register】。然后我们再次输入变量的类型。接下来,我们再次输入变量名。然后我们可以从i开始应用它。
c寄存器变量在语言中的工作原理?
1、寄存器变量
当程序运行时,根据需要在内存中调用相应的存储单元。如果程序中频繁使用变量,如循环变量,系统必须在内存中多次访问该单元,从而影响程序的执行效率。C语言\\\\C 语言还定义了一个变量,它直接存储在内存中而不是内存中CPU这种变量在寄存器中称为寄存器变量。
register int i=100
1
1
C编译程序将自动将寄存器变量转换为自动变量
由于硬件寄存器长度的限制,寄存器变量只能是char、int或指针类型。寄存器的描述符只能用于描述函数中的变量和函数中的形状参数,因此不允许描述#34register#34
register硬件用于变量CPU在寄存器中,寄存器变量没有地址,所以不能使用地址计算符#34amp#34找到寄存器变量的地址。
2.寄存器变量速度测试
对于VC即使没有声明寄存器变量,编译器也会自动优化,VC也会自动优化。
对于GCC编译器不会自动优化。
#include ltstdio.hgt
#includeltstdlib.hgt
#includelttime.hgt
int main()
{
register int temp, i
//int temp, i
time_t start, end
time(ampstart)//获取当前时间
for (i = 0 i lt= 30000000 i )
for (temp = 0 temp lt= 100 temp )
printf(#34ok\\
#34)
time(ampend)
printf(#34\\%d\\
#34,(unsigned int)(end-start))
return 0
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
gcc用寄存器变量编译并执行时间为2秒
不使用寄存器变量的执行时间为6秒