C言語における変数の初期化についての整理 関数内で宣言した変数は、初期化せずに参照すると不定値が入っています。 関数の外で定義した変数は明示的に初期化しなくても、自動的に 0 で初期化されます。

備忘録的な ポインタ変数の初期化について 変数を宣言した場合、宣言したタイミングではめちゃくちゃな値が入っている 例えば、 main() { int i; printf("%d",i); } をコンパイルして実行ファイルを実行した場合、iの実行結果は 78945632、、 とか、とにかく適当な値にな… c言語では変数を初期化しないとその変数の初期値はゴミ(めちゃめちゃな値)が入っています。 何の値が入っているかわからないのでゴミ変数をそのまま使うと大抵おかしな挙動となってしまいます。 C言語のグローバル変数の初期化について. 2.変数の初期化は、変数宣言のときに `=` を使って初期値を設定する 例) int a = 10; 3.配列の初期化は、`{` と `}` で初期値一覧を記述する 例) int a[5] = {1, 2, 3, 4, 5}; int b[] = {1, 2, 3, 4, 5}; 4.文字列の初期化は、` ” ` で文字列をくくって記述する 例) 変数を宣言すると同時に格納する値を初期化するには次の書式を使います。 データ型 変数名 = 値; 例えば「int」型で変数名が「price」の変数を宣言すると同時に「100」と言う値を格納するには次のように記述します。 int price = 100; C言語において int a = 1; // 動的グローバル変数 static int b = 2; //静的グローバル変数 funcA(){int c = 3; // 動的ローカル変数 static int d = 4; //静的グローバル変数 ・ ・ ・} 上記のように各種変数を初期化したとします。 「変数の初期化」とはどんなこと? 変数定義と同時に、なにかしらの値を格納することを「変数の初期化」といいます。 「初期化」と「代入」は、値を格納するという意味では同じです。しかし、c言語では文法的に別のものとして扱われます。 初期化の方法は宣言の際に「 { } 」を使って要素を囲む方法と、 for文を使って要素1個ずつに値を代入する方法 があります。 宣言の際に「{ }」内に各要素を記述し初期化する場合は、「[ ]」内の要素数の記述を省略することもできます。 C言語では定数以外で初期化はできませんが、C++では変数でも初期化が可能です。 C++では関数呼び出しなどで最初にstatic変数にアクセスがあった時に初めて初期化処理が行われます。 (一度だけしか初期化されないのは同じです)