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

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

Barbara Streisand
發布: 2024-12-03 17:31:10
原創
969 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板