プログラムの質問です 例えば変数 x=0などで 初期化しないと 変数は使用できませんと ある教本に書いていました 使用使えないとは、 代入はx=0でしているので

C言語関連121閲覧

ベストアンサー

1

1人がナイス!しています

ThanksImg質問者からのお礼コメント

参考にさせていただきます ありがとうございました

お礼日時:1/18 11:42

その他の回答(5件)

1

C言語の話し? C言語なら「宣言しないと使えません」であって初期化は関係ないですよ。 変数が不定であっても宣言してればアドレスは確定しているので使えます。 別の言語で初期化で変数宣言を兼ねてると言うのはありますが。

1人がナイス!しています

1

>x=0などで 初期化しないと 変数は使用できませんと 使えないわけではない バグってもいいなら使ってもよい char x; printf("%d\n",x); とやると -52 と出てくる すなわちxは0からスタートする訳ではないという事 何から始まるか分からないので 必ず自分の手で0で初期化しろという事 まあコンパイラによっては自動的に初期化してくれる物もあるが 世の中全てが初期化するとは限らないので 入れ替えたとき(他のやつを使った時)にバグっても知らんぞ!という事

1人がナイス!しています

1

使えないということはない。言語にもよるけど int x; とした時点でxにはなにかしらが入っているので、こうるさいコンパイラーを黙らせれば別にそのあとで x = x+1;とかしてもなにかしら走ってデバッグすれば値が大抵出ます たいていnull(大抵0で処理してくれる)か0が入っていますが、ときたま114514とか出てくる可能性もあるのでコンパイラは初期化していないと叱ってきます

1人がナイス!しています

1

参照できないという意味です。 ただし、言語や変数によっては未初期化のまま使えてしまう物や、 自動的に初期化されるものもあります。

1人がナイス!しています