目录
auto关键字
局部变量,默认是auto修饰的(只能用来修饰局部变量),一般省略
修饰局部变量:
int main()
{
auto int x = 0; //修饰局部变量,一般省略
return 0;
}
修饰全局变量:
编译器会报错
注:和c++中的auto不同,c++中的auto拥有其他的含义
register关键字
当我们使用register关键字修饰后,就可以让编译器将这个变量存放到寄存器中,这样读取就会变得更快,当然编译器也不一定会将变量放于寄存器,还会根据实际情况取舍
register int x = 0; //register修饰的变量,编译器会根据实际情况把他放在寄存器汇总
建议
1、局部变量(因为全局变量放寄存器会一直占用cpu的寄存器直到工程结束)
2、不会被写入
3、高频率被读取
4、不建议大量使用,因为寄存器数量不多
注:不能对register关键字修饰的变量取地址,因为被register修饰的关键字被放在寄存器中,而不是内存中,所以没有地址
#include<stdio.h>
int main()
{
register int x = 0;
scanf("%d", &x);
return 0;
}