-
2008-05-17
经典C语言100例之(四十五) - [经典C语言100例]
题目:学习使用register定义变量的方法。
我的代码如下:
#include <stdio.h>
int
main(void)
{
register int i;
int tmp=0;
for(i=100;i>0;i--)
tmp+=i;
printf("The sum is %d\n",tmp);
return 0;
}PS: register定义变量很少使用,我是第一次使用,也没觉得有什么很大的作用。
register关键字用来声明寄存器变量,对register声明的变量操作速度比普通变量快。不能用于全局变量。现在的情况是VC忽略用户定义的REGISTER,因此定义一个REGISTER变量与不定义一个REGISTER是一样的,编译器进行相同的优化,因为MS认为,REGISTER是系统中宝贵的资源,应该由系统统一调配,而且认为VC编译器的优化能力要大于一般的程序员。因此也有人说register关键字在PC机(x86CPU)无用,编译器按自动变量处理。