C言語などの配列とは大分異なり、なでしこの配列は自由にサイズを拡張することができます。また配列の各要素にも任意の型の値を入れることができます。よく配列の喩えとしてロッカーが用いられますが、ロッカーだとどのボックスも同じサイズです。そこで色んなサイズの段ボール箱がいくつも連なっているイメージをするといいでしょう。
バラバラに何でも入れられるとは言え、大抵の場合配列の中には同じ型の値を入れますね。例えば、要素が数値である配列など。話を進めやすくするために、こういった配列を「〜の配列」と呼びましょう(例:数値の配列)。
さて、何でも入れられるということはもちろん配列も入れられるということです。配列Aの要素が全て配列である(つまり配列の配列)ならば、その配列は少なくとも2次元配列[*1]です。ところがこのことについてきちんと理解できていないと、2次元配列を用いていてイメージではこういって欲しいのに何故かそうならないという現象がよく起こります。