配列の初期化
配列のすべての要素を0で初期化するには
のように書きます。
では次のようにするとすべて1で初期化されるでしょうか?
実験1
実行結果
どうやら違うみたいです。では続けて以下はどうなるでしょうか?
実験2
実行結果
実験3
実行結果
つまり、指定されない要素は0が設定されます。
文字列の初期化も同様です。
実験4
実行結果
int a[10] = { 0 };
int a[3][10] = { 0 };
のように書きます。
では次のようにするとすべて1で初期化されるでしょうか?
実験1
int a[3][10] = { 1 };
実行結果
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
どうやら違うみたいです。では続けて以下はどうなるでしょうか?
実験2
int a[3][10] = { 0, 1, 2, 3, 4, 5 };
実行結果
0 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
実験3
int a[3][10] = { { 0, 1 }, { 2, 3, 4, 5 } };
実行結果
0 1 0 0 0 0 0 0 0 0 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
つまり、指定されない要素は0が設定されます。
文字列の初期化も同様です。
実験4
char *str[5] = { "apple", "orange" };
実行結果
apple
orange
(null)
(null)
(null)
Comments