auto
默认情况下的变量都是此类型。
register
寄存器变量,但是只是一个编译器建议,也就是当寄存器busy的时候可以不用给此类型变量分配资源。
static
通过static声明的变量在退出函数时,仍然保留之前的值。
int count()
{
static int count = 10;
count++;
return count;
}
void main()
{
int i = 3, j = 0;
while(i !=0)
{
j = count();
printf("%d\n",j);
i--;
}
}
结果是:
11
12
13
extern声明的外部变量可以作用于整个程序,当然也可以作用于多个文件。
int x = 1;
void main()
{
extern int x,y;
printf("%d,%d\n", x, y);
}
int y = 2;
结果:
1,2