p.120 配列の初期化
・変数と同様に、配列にも宣言と同時に初期値を与える初期化が可能
・書式: データ型 配列名[要素数] = {値,…};
・例: double size[4] = {1.25, 2.26, 0.31, 3.14}; //size[0]には1.25が代入される(以下同様)
・要素数を省略すると、初期値の数が自動的に用いられる
・例: double size[] = {1.25, 2.26, 0.31, 3.14}; //配列sizeの要素数は4になる
・要素数を記述して、初期値の数が足りない場合、残りは0になる
・例: double size[3] = {1.25}; //size[0]には1.25が、size[1]とsize[2]は0が代入される
・よって、全要素を0で初期化したい場合は、{0}を指定すると良い
・例: double size[3] = {0}; //size[0]、size[1]、size[2]には0が代入される
・{値,…}を宣言済の配列に代入することはできない(初期化専用)
アレンジ演習:p.121 list0506.cpp
・省略部分を完成しよう
作成例
//アレンジ演習:p.121 list0506.cpp
#include <stdio.h>
int main(void)
{
int a[4] = {1868, 1912, 1926, 1989}; //明治・大正・昭和・平成元年の西暦
int b[] = { 1, 2, 3 }; //要素数は3になる
int c[5] = { 1, 2 }; //値が足りない要素は0になる
int d[5] = { 0 }; //全要素が0になる
for (int i = 0; i < 4; i++) { //配列aの添字の範囲(0~3)で繰返す
printf("a[%d] = %d\n", i, a[i]); //添字と要素値を表示
}
for (int i = 0; i < 3; i++) { //配列bの添字の範囲(0~2)で繰返す
printf("b[%d] = %d\n", i, b[i]); //添字と要素値を表示
}
for (int i = 0; i < 5; i++) { //配列cの添字の範囲(0~4)で繰返す
printf("c[%d] = %d\n", i, c[i]); //添字と要素値を表示
}
for (int i = 0; i < 5; i++) { //配列dの添字の範囲(0~4)で繰返す
printf("d[%d] = %d\n", i, d[i]); //添字と要素値を表示
}
return 0;
}