static 作用域與生存期中的關鍵字)

2021-10-06 20:59:55 字數 597 閱讀 7755

static是c語言生存期與作用域內容中,頗為重要的乙個關鍵字。主要有兩個用法。

static在修飾函式和全域性變數時,會改變二者的作用域,使得它們只在本檔案使用,在其他檔案中不會被定義。

#include

void

main()

#include

int a=

5;

同時編譯這兩個 .c 檔案,編譯成功,並輸出。

如果在第二個檔案中 static int a 則會編譯失敗。

static修飾定義區域性變數時,區域性變數的生存期會由隨著**塊持續變為隨程序持續。

voidf(

)main()

voidf(

)main()

隨程序持續就是就是在程式開始就分配空間,知道程序結束,如函式,全域性變數,static修飾的區域性變數。

作用域與生存期

1.作用域 作用域指識別符號能夠被使用的範圍 只有在作用域內識別符號才可以被使用。在此階段針對編譯和鏈結過程。1 函式中定義的識別符號,包括形參和函式體中定義的區域性變數,作用域都在函式內,也稱作函式域。2 檔案作用域也稱全域性作用域。定義在所有函式之外的識別符號,具有檔案作用域,作用域為從定義處到...

08 作用域和生存期

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

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

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