c 變數的作用域 生存期和可見性

2021-07-03 18:56:29 字數 672 閱讀 8635

範圍:在乙個函式內部定義的變數,作用範圍只限於本函式體內。

生存期:程式執行到本函式才會給區域性變數分配記憶體單元,函式執行完畢區域性變數所佔的儲存單元就被釋放

在函式體外部定義的變數是全域性變數,可以被本檔案所有其他函式訪問使用。

作用域:所有檔案。在乙個cpp定義的全域性變數在另乙個cpp中使用,應該在使用它的函式體內部或外部進行extern說明

生存期:全域性變數在程式的全部執行過程中占用固定的記憶體單元,生存週期是整個程式執行期間。

實驗**

/*

* 變數的作用域、生存期和可見性

* date: 2015-07-13

* author: zhang

*/#include using namespace std;

void fn1();

int x = 1;

int y = 2;

int main()

void fn1()

執行結果:

x = 10,y = 20

x = 1,y =100

x = 10,y = 20

從執行結果來看,當區域性變數與全域性變數重名時,在區域性變數的作用域內,全域性變數隱藏

可以參閱的其它文章:

C 之變數的作用域,生存期,可見性

作用域是表示某個識別符號在什麼範圍內有效 可見性是指識別符號是否可見,可引用 生存期,是指程式中的簡單變數和類的物件,它們同自然界中的萬物一樣。也有自己的產生和消亡的生存期,變數和物件的生存期包含靜態生存期和動態生存期。具有靜態生存期的變數和物件,它們的生存期和程式執行相同 除了具有靜態生存期的變數...

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

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

C語言可見性和生存期

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