c auto存储类型


1 自动型变量采用 auto 关键字作存储类型申明

例:
int main(void)
{
//变量定义
auto int a1;
auto float a2;
auto decimal a3,a4;
int a5; //缺省值 为auto
}
//在函数中定义了
存储类型为 自动型 类型为 int 的变量a1
自动型变量 float a2
自动型变量 decimal a3,a4;
自动型变量 int a5;

变量的作用域及生存期

由于自动型变量是内部变量,所以变量只能在变量所在的函数或结构中可见和有效。
例:

#include “stdio.h”
void main()
{
int a1=10;
printf(“a1 : %d\n”,a1);
if(1==1){
int a1=11;
printf(“a1 : %d\n”,a1);
}

printf(“a1 : %d\n”,a1+10);

}

//运行结果 :
a1 :10
a1 :11
a1 :20

从以上的结果我们可以看出
第二次定义了一个a1,并重新赋值,然后输出a1 ,但是在if语句结构完毕后第二次定义的a1就失效了,所以第三次的a1计算采用第一次定义的a1。