首頁 >後端開發 >C++ >C 中變數何時以及如何自動初始化?

C 中變數何時以及如何自動初始化?

Barbara Streisand
Barbara Streisand原創
2024-12-03 17:31:10898瀏覽

When and How Are Variables Automatically Initialized in C  ?

C 中的變數初始化:何時何地自動發生?

理解 C 中的變數初始化對於開發健壯的程式碼至關重要。與 int 變數自動初始化為 0 的假設相反,以下程式碼片段示範了情況並非如此:

int main () {
    int a[10];
    int i;
    cout << i << endl;
    for(int i = 0; i < 10; i++)
        cout << a[i] << " ";
    return 0;
}

此程式碼將為未初始化的變數 i 輸出一個隨機值。為了解決這個問題,有必要了解 C 中控制初始化的規則。

自動初始化規則

在C 中,變數只在特定條件下自動初始化:

  • 類別/結構實例:預設建構函式初始化將初始化所有類別或結構體實例中的基本型別。
  • 陣列初始化語法: 使用花括號初始化數組,例如int a[10] = {} 或int a[10] = { 1,2},將自動將所有未初始化的元素清零。
  • 全域/外部變數: 在函數作用域(全域或外部)之外宣告的變數會自動初始化為 0。
  • 靜態變數: 帶有 static 關鍵字的變數會自動初始化為 0,無論他們的範圍。

以上是C 中變數何時以及如何自動初始化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn