C语言中的auto关键字
参考资料https://en.cppreference.com/c/language/storage_durationC语言中有个关键字auto它的含义为自动存储周期无链接属性。它只能写在函数 / 代码块内部函数的参数列表除外表示变量是自动生命周期、局部私有而且这些特性本来就是默认的不用写。示例1函数内的局部变量加不加auto效果相同main.c文件的代码如下#includestdio.hvoidtest(){// 此处a加不加auto效果相同autointa100;a;printf(a%d\n,a);// 此处b加不加auto效果相同intb200;b;printf(b%d\n,b);}intmain(){test();test();return0;}运行输出从输出结果可以看出auto 变量每次进入函数重新创建退出销毁。对于局部变量加不加效果相同所以平常我们一般不加。示例2函数的参数列表加不加auto效果相同main.c文件的内容如下#includestdio.h// 此处a加不加auto效果相同voidtest1(autointa){a;printf(a%d\n,a);}voidtest2(intb){b;printf(b%d\n,b);}intmain(){test1(100);test1(200);test2(100);test2(200);return0;}运行结果