作用域與生存期

2021-10-06 16:03:07 字數 912 閱讀 9407

1.作用域

作用域指識別符號能夠被使用的範圍;只有在作用域內識別符號才可以被使用。

在此階段針對編譯和鏈結過程。

(1).函式中定義的識別符號,包括形參和函式體中定義的區域性變數,作用域都在函式內,也稱作函式域。

(2).檔案作用域也稱全域性作用域。定義在所有函式之外的識別符號,具有檔案作用域,作用域為從定義處到整個原始檔結束。檔案中定義的全域性變數和函式都具有檔案作用域。

2.生存期也叫生命期。此階段是程式執行過程。

生命期指的是識別符號從執行開始時被建立,具有儲存空間,到程式結束時消亡,釋放儲存空間的時間段。

(1)區域性變數的生存期是:函式被呼叫,分配儲存空間,到函式執行結束,儲存空間釋放。一般儲存在stack(靜態區域性變數儲存在data區)

(2)全域性變數的生存期是:從程式進行前開始,到執行後結束。儲存在data區

(3)動態生命期是:識別符號有特定的函式呼叫或運算來建立和釋放,如呼叫malloc()為變數分配儲存空間,變數的生命期開始,而呼叫free()釋放空間或程式結束時。具有動態生命期的變數儲存在堆區heap。

舉例:區域性變數

08 作用域和生存期

2019獨角獸企業重金招聘python工程師標準 變數的作用域 scope 變數起作用或有效的 範圍,空間。變數的生存期 life time 變數存在的時間範圍,時間。1 根據變數的作用域將變數分為全域性變數和區域性變數 全域性變數儲存在靜態資料區,區域性變數在堆疊中。全域性變數 global va...

note C 作用域 可見性與生存期

作用域是乙個識別符號 變數 常量 函式等 在程式正文中有效的區域。函式原型作用域 區域性作用域 塊作用域 類作用域 全域性作用域 檔案作用域 命名空間作用域。即參數列。函式原型中的引數,其作用域始於 結束於 例 double area double radius 區域性作用域舉例 void fun ...

靜態生存期和動態生存期

靜態生存期 定義 如果某乙個物件的生存期和程式的執行的生存期一樣,則這個物件具有靜態生存期。關鍵字 static 特點靜態變數不會隨著每次函式的呼叫產生乙個新的副本,也不會隨著函式返回而失效。第n次呼叫函式時,靜態變數的值為第n 1次呼叫的靜態變數的值,依次類推!也就是說靜態變數 第一次賦值有效,也...