お世話になっています。
C言語の質問です。
func()
{
int dat[256];
}
こんな関数の中で配列datの中の値は不定だと思っていたのですが、配列の中の値全てがきれいに0になっています。
これは偶然と考えた方が良いのでしょうか?
それとも仕様でしょうか?
コンパイラは gcc です。
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
偶然です。
0クリアしたいなら以下のようにしてください。
C++
1int dat[256] = {};
C言語の場合は0
を一つ指定しておかないとコンパイルエラーになります。
gccではどちらの書き方でもコンパイルできてしまいますが…
C
1int dat[256] = {0};
投稿2020/08/08 00:19
編集2020/08/08 00:27総合スコア4079
0
偶然ですね。こっちで出力してみると、こんなんです。
469762076 2097184 0 2097184 2097184 2621544 105 6820712 2097184 197 6816368 225 6816368 -1073741515 6421364 2006012900 2006967684 6422052 6421752 32 6815744 6827704 0 2006965024 6421752 6421608 6421700 2006010998 32 6422052 6421744 6422052 0 2006011354 24 2006045215 958467776 6421752 6421744 6421888 6422064 6421896 0 31 452984859 958467756 -520093471 6815744 -520093471 83886085 1 2 6816368 6815744 0 6815744 6827752 6827816 402653208 0 6815744 2006169651 7 10420848 10420224 1 10420224 10441112 10441160 33554434 0 10420224 2006169651 7 6421908 2006042320 1 10441168 7 2006045215 958468016 10420224 38 6422064 2006294592 2 -2 6421776 33554434 6827712 -1577057114 6827752 2006058285 1 1 0 6816428 1 7 958467820 6422052 -1073741515 6422064 6815936 0 6421656 0 6422476 2006294592 1323215780 -2 6422028 2006015588 0 6421748 0 6422244 2006015607 0 23199044 32 1 0 16777216 6421760 6881280 6750306 13 10420848 10420224 3276919 10420224 10441112 10440728 33554434 0 10420224 2006169651 13 6422040 2006050848 1 10441120 13 2006051481 958467132 10441112 10420224 0 117440519 65712 0 6 0 6827760 7 6827760 6421988 10420224 6 1323215844 13 6422056 7 38 48 10420924 10441112 38 1 4202736 0 10420924 1 0 6827712 18 301989906 10437160 6421992 13 6422227 0 16842752 10441160 0 1633906432 13 16842758 0 958467776 6422476 2006294592 1323214884 -2 6422132 2006347179 0 2006347218 4 6825368 6825372 1319033925 6422152 1992061314 6815744 0 8 6825368 6825376 1319033925 6422184 1992061314 6815744 0 6825368 -1841501215 8 6825368 6825376 4199120 4199392 1 1992126393 128 6422124 6825380 6422180 4199120 4200736 0 1992126393 6825380 6422204 1992191989 1992508188 6422268 1992189265 8 1992126205 1992126179 -1841501259 4199120 4199120 0 4200736 6422224 6422280 6422476 1992150208 -459308703 -2 6422280 1992126445 4200736 6422400
投稿2020/08/08 00:25
総合スコア11990
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
Daregandaさま
実験していただいて恐縮です。
お返事ありがとうございました。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/08 00:44
2020/08/08 00:52
2020/08/08 00:53 編集
2020/08/08 02:16
2020/08/09 00:23