變數的生存期與可見性例題

2021-09-26 21:25:30 字數 763 閱讀 3071

接下來舉一具體例子予以說明。

other函式中a,b為靜態區域性變數,具有全域性壽命,區域性的可見性。

i為全域性變數。靜態變數不初始化預設值為0。

主函式中a為靜態區域性變數,b.c為動態變數。

第一次主函式輸出:

i=1,a=0,b=-10,c=0

第一次other函式輸出:

全域性變數i+32,a+2,b為初始值,c+5。

第二次主函式輸出:

第一次other函式輸出之後,other函式中,a的值4賦值給了b。other函式裡面的區域性變數值不會影響到主函式,程式中c由初始值0加8,i為全域性變數,所以與第一次other函式輸出值一致。

第二次other函式輸出:

i在之前基礎上再加10,進入函式中再加32,a在第一次other函式中為4,再次進入有生存期,不會被初始化,所以a=4,再加上2;b在第一次other函式**來為4,所以輸出結果也為4,c為動態變數,此時進入區域性函式被初始化為10,再執行內部程式加五即為結果。

最終結果見下控制窗。

c++小小小白第一次部落格嘗試,如有錯誤之處,還望諒解和指正。

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

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

學習筆記 可見性和生存期

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

C語言可見性和生存期

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