在C语言中,auto用于声明一个变量为自动变量,即局部变量。
因为所有不加限定的局部变量都是auto类型变量,所以auto关键字通常会被省略。
与之相对的其他限定类型变量有:静态类型变量(static)、寄存器类型变量(register)和外部类型变量(extern)。
如果变量在定义时只加auto限定,不加数据类型,那么该变量默认是int型数据。
#include <stdio.h>
#include <stdlib.h>
//auto int val_1 = 0; // error: file-scope declaration of 'val_1' specifies 'auto'
int main()
{
auto double val_2 = 3.14;
auto val_3;
val_3 = val_2; // val_3 = 3
return 0;
}