c言語についての質問です 変数に0を入れてあるのをよく見かけるのですが、どういう意味があるのでしょうか?」

C言語関連55閲覧

ベストアンサー

1

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

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

ベストアンサー!!!

お礼日時:3/10 11:27

その他の回答(6件)

0

変数を宣言して最初の値(初期値)を決めているだけです。 変数は宣言する場所によっては初期値が0などになっていることもありますが、場所によっては内容が「不定」で、どんな値になっているか分かりません。 例えば、何かの合計値を求めたい時、合計用の変数を最初に0にしておかないと変な値になったら困るから、やっています もちろん場合によっては0じゃなくても良いです。

2

逆だと思います。変数を0にする意味があるからやっている。もしそうで無ければ意味はありません無駄です。 ただデバッグの為と言うのはあるかもしれません。通常の使用では必要ないですがポインタ使う事で間違えて触るはずの無い変数を壊している可能性がある時壊している処理の前にクリアして後に覗いてみるとか。 変に0クリアの癖を着けてしまうと高速の画像処理の、何万回よぶ関数とかで無駄な遅さを発生しかねません。

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

0

例えば、ファイルのデータを順に読み込んで何かの処理をして、最後に、処理したデータ数を表示するとき、データを読む毎に件数に1を足していけばいいんだけど、それって、初期値がゼロだということが前提でしょ? 一方・・・ 例えば、キーボードから年数を入力して、カレンダーを表示するプログラムで、年数を受け入れるデータ項目は、入力された値を入れるだけだから、初期値が決まっている必要はないですよね? あるいは、内部で1月から12月まで繰り返すのを制御するデータ項目は、プログラムで1から12を繰り返すよう記述するから、初期値はどうでもいいです。 こんなふうに、内容によって、プログラムが始まるときに値が決まっていないと困る項目と、決めておく必要はない項目があります。 多くの場合、数値ならゼロ、文字なら空白、文字列ならNULLにしておくのが都合がいいです。

0

>変数に0を入れてあるのをよく見かける なんとなくお約束で0を入れてます int n = 0; みたいな文脈において、実は最初に入れる数字が0でも100でもINT_MAXでもなんでもいい場合、何もしないのが気持ち悪いので、界隈のお約束として0が選ばれます Javaなどでも、「int n;」などと何もしなければ0が勝手に代入されるという、Javaには珍しい「目には見えない動作」として、界隈では一種のお約束として成り立ってます