位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 aotu变量

提问人:刘团圆发布时间:2020-12-01

aotu型变量是C语言中使用的最为广泛的一种变量,其类型说明符为auto,也可叫做自动变量。

1.auto变量的定义格式

    [auto]数据类型变量表;

2.说明

(1)auto可以省略,省略后,和前面所使用的在函数体内定义的局部变量形式一样,所以C语言规定,凡是没有加任何存储说明符的全部都是aotu型变量。例如如下两个示例等价:

    auto float x,y; 

    float x,y;

(2)auto变量是动态存储方式,其作用域仅限于本函数体内,当函数被调用时,系统为之分配内存空间,函数调用结束,所分配的空间释放。

(3)若auto变量定义了,但没有初始化,其值是不确定的。auto变量如果初始化,赋初值操作是在当函数调用时,为该变量分配内存空间时进行的,且每次函数调用都要重新为该变量分配空间并赋一次初值。例如:

void fun()

{

    int m=l; 

    m=m+l;

    printf("m=%d\n",m);

}

main()

{

    int i;

    for(i=l;i<=5;i++)

    fun();

}

    main()函数中的变量i及fun()函数中的变量m都是auto变量,因main()函数中执行一个循环次数为5的for循环,每次循环调用fun()函数。每次调用,都会为变量m分配内存空间,并初始化赋值为1,之后执行m=m+1操作,m的值为2,并输出。fun()函数执行完毕,释放auto变量m所占的空间。可以 看出,无论执行多少次,输出m的值都是2,因为m的值不会保留下来,这就是auto变量的特点。

(4)由于自动变量的作用域和生存期,都局限于定义它的函数体或复合语句内,因此不同的函数体或复合语句中允许使用同名的变量,而不会混淆。即使在函数内定义的自动变量,也可与该函数内部 的复合语句中定义的自动变量同名。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部