C 變數生存週期演示

2021-05-22 16:26:03 字數 421 閱讀 4843

能正確寫出下面**的輸出內容嗎?

正確的輸出資訊是:

+ d  // 全域性對像d初始化

+ a  // 函式內區域性對像a初始化

+ b  // 函式內區域性對像b初始化

- b  // 函式內區域性對像b刪除.以前一直以為給一條**無故加對花括號是無聊的,或者編譯器會把它乾掉,無聊嗎?

+ c  // 函式內靜態對像c初始化.注意區域性靜態變數雖然生存週期是整個程式,但「啟動生命」是第一次訪問時.這有別於全域性對像在main函式啟動前就被初始化。

- a  // 函式內區域性對像a刪除

+ a+ b

- b  // c對像已經初始化過了,所以下面不會再初始化c

- agoodbye!

- c  // 函式內的靜態變數c被刪除

- d  // 全域性對像d被刪除

c 迴圈語句中變數的生存週期

1 本人突發奇想,突然想到c 迴圈體中變數的生命週期。從形式上看,迴圈體中定義的變數總是存在作用域 花括號 中 那麼變數在迴圈 未結束前是否一致存在呢?在vs2013下測試得到的結果是否定的。例,class base base base const base b base bs for int i ...

C語言中變數儲存型別和生存週期

本博文基於vc 6.0開發,除錯,執行 內容來自譚浩強的 c語言程式設計 總結 資料型別 浮點型,整型,字元型等都是乙個資料型別 資料儲存型別 資料在記憶體中的儲存方式 這是本博文要討論的重點 注意 資料型別和資料儲存型別都是針對於宣告或定義的函式和變數而言的 靜態儲存型別 變數或函式,在程式執行期...

C 類的生存週期

眾所周知,類是c 的核心,而對於類的生存週期的長短是受到很多因素影響,在這裡我從以下幾個方面來分析 類在.data段生成時的生存週期 類在棧區生成時的生存週期 類在堆區生成時的生存週期 為了體現各種情況下類的生存週期,我們寫乙個測試用例來直觀地感受。class cgoods 實現三種構造方式 乙個拷...