5

私はこの単純なコード行を持っています:

int x;

x自動的に値は1になります。何にも設定しませんが、デバッグするxと1であることが示されます。

intデフォルト値は1ですか?!

4

4 に答える 4

22

いいえint。デフォルト値は未定義です。この場合はたまたま1そうです。それは同じくらい簡単に-18382または22またはである可能性があり0xBAADF00Dます。

変数は常にCで初期化してください。

于 2011-05-12T15:50:30.400 に答える
6

初期値は未定義であり、この場合、使用を開始する前にそのメモリ位置にあったものは何でもかまいませんx

(周囲のコードによっては、特定のケースでは常にそう1であることがわかる場合がありますが、それを確信することはできません。)

于 2011-05-12T15:50:19.183 に答える
5

いいえ、逆に、xデフォルト値はまったくありません。表示されているのは、変数を作成したときに変数が配置されたゴミです。

于 2011-05-12T15:50:59.490 に答える
-1

インスタンス変数は、初期化子が実行される前に0に初期化されます。

参照:

于 2014-05-08T08:31:50.100 に答える