发布日期:2015-12-08 09:10 来源: 标签: 编程语言 C++教程 C++变量 C++自动变量
自动变量是最常见的一类变量,将变量的存储属性定义为自动变量的形式是:auto 类型说明符 变量名;一般地说,不加说明的变量都属于自动变量。
自动变量是最常见的一类变量,将变量的存储属性定义为自动变量的形式是: 
auto 类型说明符 变量名;
 一般地说,不加说明的变量都属于自动变量,因此:
auto int a; 等价于 int a;
auto float b; 等价于 float b;
auto char str[100] 等价于 char str[100];
自动变量的说明必须在一个函数体的内部进行,函数的形参也是自动变量。自动变量的作用域是在所说明的函数中。
自动变量实质上是一个函数内部的局部变量。只有该函数被调用时它才存在,从函数中返回时即消失,它们的值也仅限于说明它的函数,其它函数不能存取。自动变量随函数的引用与否而存在和消失,在两次调用之间自动变量不会保持变量值,因此每次调用函数时都必须首先为自动变量赋值后才能使用(参加运算)。如果不置初值,则变量的值为随机的不定值。 
由于自动变量具有局部性,所以在两个函数中可以分别使用同名的变量而互不影响。
例9-19:分析程序打印结果:
main( )
{ int x=1; /* 函数main中的自动变量x */
    void f1( ), f2( );
   f1( ); f2(x); /* 分别调用函数f1和f2 */
printf ("x=%d\n", x);
}
void f1(void)
{ int x=3; /* 函数f1中的自动变量x */
printf ("x=%d\t", x);
}
void f2(x)
int x; /* 函数f2中的形参x也是自动变量 */
{ printf ("x=%d\t", ++x); /* x加1 */
}
  程序中有三个"x"分别在三个不同的函数中,这三个"x"都是自动变量,所以三个"x"分别局部于三不同的函数,在三个函数中对"x"的操作互不影响,故运行程序打印如下结果:
x=3 x=2 x=1

相关评论

专题信息
    C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性! 本教程从基础讲解了C++语言,希望对大家有所帮助,望多多支持中国站长网络学院。