配列の初期化

変数を用意する記述(つまり変数宣言)において、特定のデータが記憶されるように、 =の宣言子を伴う指定を変数の初期化と呼びました。

配列も同様に=の宣言子で次のように可能です。ここでは、先頭要素から
2.09, 2.1, 4.2, 6.3, 5.4, 1.5 と順番に初期化している例です。

	double da[] = { 2.09, 2.1, 4.2, 6.3, 5.4, 1.5 };

上記のように、記憶構造をイメージで捉えるようにしてください。
 さて、[]の中の配列要素数を省略していますが、これは=の宣言子による  初期化を伴う場合に可能な表現で、並べたデータの個数が省略されています。つまりこの例では、  6が省略されています。

 次のように並べた数より大きな数を指定した場合は、初期化データがない範囲の要素が 0に初期化されます。

	double da[10] = { 2.09, 2.1, 4.2, 6.3, 5.4, 1.5 };


次のように、配列要素数で指定する数が、初期化で並べた数より小さいと、一般的にエラーとなります。

	double da[5] = { 2.09, 2.1, 4.2, 6.3, 5.4, 1.5 };// コンパイルエラー

なお = { データ, データ, データ, データ};の表記は、宣言の時だけ可能で、 これらデータが並ぶ要素の配列を作る指示の表現です。これを実行文で使うことはできなません。 (配列の名前が『先頭要素のアドレス』という変更できないものであるということも一因ですが、 C言語では配列全体を表現できるデータ型が存在しないのです。)
よって、次のような表現はエラーになります。

	double da[5] ;
	da = { 2.09, 2.1, 4.2, 6.3, 5.4, 1.5 };// コンパイルエラー