变量的作用域?
这个变量在哪里可以使用,哪里就是它的作用域。
①局部变量的作用域?
代码可以运行,这里a的作用域在大括号内
如果按图片的话,(内)大括号外也有
〔printf(“a=%d\n”),a〕
这里的代码无法输出来a的值
因为〔int a〕的作用域在(内)大括号里,出了(内)大括号外,a的值无法输出。
如果把a放在(外)大括号与(内)大括号之间,则可以输出来两个a的值
②全局变量的作用域?
将〔a〕打在大括号外,两个地方打印都没问题
如果再写一个函数
void test()
{
printf(“%d\n”,a)
}
写完后要想这个函数被执行,它得被调用,所以需要在main函数里调用
如图main函数里的 test(); 为调用步骤
可得结论,全局变量在任何工程都可以用
如果〔a〕在另一个文件上
先声明来自外部的符号。
写法为extern int a;
作用为声明这个a来自其他文件。
可得,〔全局变量〕可作用域可处于多个文件
生命周期?
〔局部变量〕的生命周期从进作用域开始,出作用域结束
〔全局变量〕的生命周期,从程序的开始到结束