ホームページ > バックエンド開発 > C++ > C では変数はいつどのように自動的に初期化されますか?

C では変数はいつどのように自動的に初期化されますか?

Barbara Streisand
リリース: 2024-12-03 17:31:10
オリジナル
902 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート