作
用域
|
描述作用的范围
|
生存期
|
描述变量的生存的时间
|
共享范围
|
描述共享该数据的范围
|
类作用域
|
作用于一个类
|
静态生存期
|
一直活着,直到该文件运行结束
|
局部变量
|
全局共享
|
块作用域
|
作用于一个块
|
动态生存期
|
产生于声明(或是定义类声明)处,于该对象的作用域结束处释放
|
全局变量
|
供局部使用
|
文件作用域
|
作用于一个文件
|
||||
函数原型作用域
|
作用于一个函数
|
三种描述各自描述的是三种不同的方面。各自之间有所重合。如函数的形参,作用域是函数原型作用域,局部变量。但可以是静态生存周期,也可以是动态生存周期。
void f()
{
stastic int i=1;
i++
}
就是静态的局部作用域函数范围的变量。
在执行程序时如果多次进入f(),i只会在第一次时初始化为1。第二次则以i=2开始计算。第三次则3。