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)由于自动变量的作用域和生存期,都局限于定义它的函数体或复合语句内,因此不同的函数体或复合语句中允许使用同名的变量,而不会混淆。即使在函数内定义的自动变量,也可与该函数内部 的复合语句中定义的自动变量同名。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>