可见性和生存期
可见性---编译过程:从对标识符的引用的角度来看,表示从内层作用域向外层作用域“看”时能看见什么
生存期---执行过程:对象从生产到结束的这段时间在生存期内,对象保持它的值,直到被更新为止
生存期又分为
静态生存期:与程序运行期相同,文件作用域中声明的对象具有这种生存期,在函数内部声明静态生存期对象,要冠以关键字static。
动态生存期:开始于程序执行到声明点时,结束于命名该标识符的作用域结束处。
int fun ()
{
max=100; / /max在此之前未声明,编译过程中,max不可见,所以编译失败
}
int max=10;
void main ()
{
max=200;
}
==>编译不通过
int max=10; //max为全局变量,生存期在全局程序开始到结束
int fun ()
{
max=100;
int a=100; //a为局部变量,生存期从声明开始,到函数花括号结束,在函数调用时有效,不调用时失效
a=1000;
}
void main ()
{
max=200;
}
==>编译成功