1. 程式人生 > >作用域、生存期和區域性或全域性變數

作用域、生存期和區域性或全域性變數


用域 描述作用的範圍 生存期 描述變數的生存的時間 共享範圍 描述共享該資料的範圍
類作用域 作用於一個類 靜態生存期 一直活著,直到該檔案執行結束 區域性變數 全域性共享
塊作用域 作用於一個塊 動態生存期 產生於宣告(或是定義類宣告)處,於該物件的作用域結束處釋放
全域性變數 供區域性使用
檔案作用域 作用於一個檔案        
函式原型作用域 作用於一個函式        
三種描述各自描述的是三種不同的方面。各自之間有所重合。如函式的形參,作用域是函式原型作用域,區域性變數。但可以是靜態生存週期,也可以是動態生存週期。

void f()

{

stastic int i=1;

i++

}

就是靜態的區域性作用域函式範圍的變數。

在執行程式時如果多次進入f(),i只會在第一次時初始化為1。第二次則以i=2開始計算。第三次則3。