• 题目:学习使用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)无用,编译器按自动变量处理