您的位置 首页 > 科技

寄存器变量使用 c寄存器变量在语言中是什么意思?

寄存器变量使用

寄存器变量使用 c寄存器变量在语言中是什么意思?

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秒

相关文章