★寄存器变量 ◇格式: register类型变量名列表; for(register int a=0; a<1000000; a++) ☆寄存器变量存在于cpu内部的寄存器中,数量很 ,一般是将循环使用很多次的变量放在岢存器 中,加快执行速度。 今注意: 只有蓬型变量能放在寄存器中,包括:int、char short、long等。 岢存器变量必须是auto类紲的局部变量、形参,不能 是全局变量或舲亮变量。 心由于寄存器数量很少,不能保证定义的寄存器 变量是能分配到寄存器,这时作为普通变量。 ☆对于寄存器变量,不能做取地址(&)运算
寄存器变量 ❖格式:register 类型 变量名列表; for(register int a=0; a<1000000; a++) ❖寄存器变量存在于 cpu 内部的寄存器中,数量很 少,一般是将循环使用很多次的变量放在寄存器 中,加快执行速度。 ❖注意: ⚫只有整型变量能放在寄存器中,包括:int、char、 short、long等。 ⚫寄存器变量必须是auto 类型的局部变量、形参,不能 是全局变量或静态变量。 ❖ 由于寄存器数量很少,不能保证定义的寄存器 变量总是能分配到寄存器,这时作为普通变量。 ❖对于寄存器变量,不能做取地址( & )运算
例使用寄存器变量 int fac(int n) 1、只有局部自动变量和 形式参数可以作为寄存器 register int i, f=1; 变量 for(i=1;i<=n; i++ 2、不能定义任意多个寄 f= fi 存器变量 return(f; 3、局部静态变量不能定义 为寄存器变量 void maino int i: for(i=1;i<=1000;i++) printf(od:=%d\n,i,fac(i);
例 使用寄存器变量 int fac(int n) { register int i, f = 1; for(i = 1;i <= n;i++) f = f*i; return(f); } void main() { int i; for(i = 1;i <= 1000;i++) printf(“%d!=%d\n”,i,fac(i)); } 1、只有局部自动变量和 形式参数可以作为寄存器 变量 2、不能定义任意多个寄 存器变量 3、局部静态变量不能定义 为寄存器变量