c變數的生命週期

2021-06-25 20:59:44 字數 425 閱讀 6074

內部變數:

生命週期:函式結束時結束.

作用域:宣告的花括號中.

儲存區域:棧記憶體區域.

不會自動初始化.但會申請空間.

外部變數:

生命週期:和程式的生命週期一樣.

作用域:程式的所以地方做可以使用,但需要使用extren進行宣告.

儲存區域:在全域性區域.

自動初始化.並生命自身的儲存空間.

內部靜態變數:

生命週期:和程式的生命週期一樣.

作用域:宣告的函式內部.

儲存區域:全域性靜態區域.

自動初始化.並生命自身的儲存空間.

外部靜態變數:

生命週期:和程式的生命週期一樣.

作用域:本檔案中可以使用.

儲存區域:全域性靜態區域.

生命週期:和程式的生命週期一樣.

變數的生命週期

from 今天在論壇上看到有朋友發帖問道 既然靜態全域性變數與全域性變數都儲存在全域性資料區,為什麼作用域卻不一樣呢?也許答案非常簡單 c 就是這麼規定的,靜態全域性變數與全域性變數的唯一區別就是作用域不同。對乙個c 變數來說,有兩個屬性非常重要 作用域和生命週期,它們從兩個不同的維度描述了乙個變數...

變數的生命週期

1 全域性變數 作用域 全域性作用域 只需要在乙個原始檔中定義,就可以作用於所有的原始檔 生命週期 程式執行期一直存在 記憶體分布 全域性 靜態儲存區 注意 如果再兩個檔案中都定義了相同名字的全域性變數,則連線錯誤 變數重定義。2 全域性靜態變數 生命週期 程式執行期一直存在 作用域 檔案作用域 只...

C 臨時變數的生命週期

c 中的臨時變數指的是那些由編譯器根據需要在棧上產生的,沒有名字的變數。主要的用途主要有兩類 string proc int main 其中第 6 行會產生乙個臨時變數。但並不是所有返回值都會建立臨時變數,只有當沒有將返回值賦值給其它變數時,臨時變數才會建立。這種臨時變數的生命週期很短,當表示式完成...