c语言auto定义变量
发布网友
发布时间:2022-05-05 18:01
我来回答
共3个回答
热心网友
时间:2022-06-27 21:32
{
auto int num=1;
printf("The internal block num equal %d\n",num);
num++;
}
这里面的num是个局部变量阿, 这里所有的num
看成是另一个变量就OK 拉。。。。只在此函数中有效 每次调用函数 重新分配空间
热心网友
时间:2022-06-27 21:33
结果就是这样啊
第一次循环
for(i=0;i<3;i++)
{
printf("The num equal %d\n",num);\\num=2输出The num equal 2
num++;//num=3
{
auto int num=1;\\num=1
printf("The internal block num equal %d\n",num);\\num=1输出The internal block num equal 1
num++;\\num=2
}
}
后面的类推
热心网友
时间:2022-06-27 21:33
在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字a u t o定义局部变量这一作法保持一致。局部变量仅由其被定义的模块内部的语句所访问。换言之,局部变量在自己的代码模块之外是不可知的。切记:模块以左花
括号开始,以右花括号结束。
对于局部变量,要了解的最重要的东西是:它们仅存在于被定义的当前执行代码块中,即局部变量在进入模块时生成,在退出模块时消亡。
定义局部变量的最常见的代码块是函数。
{
auto int num=1;\\num=1
printf("The internal block num equal %d\n",num);\\num=1输出The internal block num equal 1
num++;\\num=2
}
这个区域又是一个模块,里面num的对外部num的不影响