私はCのprogaming faqの本を読んでいます。 はここ非静的変数の初期化
自動変数は、関数内で定義された変数であるか、静的なキーワードを使用せずにコードの をブロックする本の通路です。これらの変数は、明示的に初期化しないと、 の値が未定義です。 自動変数を初期化しない場合は、値を使用する前に に割り当てておく必要があります。ここで
私のコードです:変数が初期化されるのはなぜ
#include <stdio.h>
int main (int argc, const char * argv[])
{
{
int x;
printf("%d", x);
}
}
printf
の結果は0ですか?
どの環境(OS、コンパイラなど)ですか? – fge
誰が初期化されていますか?メモリ内のデータが実際にゼロであるのは単なる幸運かもしれません。 私はデバッグモードが自動的にロット変数をゼロに初期化すると思います。リリースでビルドして実行しようとしましたか? – Max
出力が「初期化されていません」と思いますか? :) – pmg