質問: n*m*sizeof(array[0][0])`のようなもの)
回答: **追記:yohjpさんとsnakさんの回答・コメントより、配列の配列も配列なんだから連続だ、ということが腑に落ちましたので下記回答は撤回します。** コメント等の情報も加味して回答します。 私の回答としては「不連続かもしれない」です。 前提の配列は以下。 ``` short array[2][7]; ``` ※結果は妄想であって、各種コンパイラが用意できるはずもなく、検証はしていないです。 **1. パディング入れるよ、多次元配列も連続領域だよコンパイラ** ``` sizeof(array) == 32 2*7*sizeof(short) == 28 ``` **2. パディング入れるよ、多次元配列は連続領域じゃないよコンパイラ** ``` sizeof(array) == 32 2*7*sizeof(short) == 28 ``` **3. パディング入れないよ、多次元配列も連続領域だよコンパイラ** ``` sizeof(array) == 28 2*7*sizeof(short) == 28 ``` **4. パディング入れないよ、多次元配列は連続領域じゃないよコンパイラ** ``` sizeof(array) == 28 2*7*sizeof(short) == 28 ``` パディングなしの場合、`sizeof(short[7])`の評価は常に14で、それは`array[0][0]`のアドレスが`0x1000`で`array[1][0]`のアドレスが`0x2000`となっていても変わらないため、連続領域かそうでないかは区別が付かないと思いますがいかがでしょうか。 `sizeof`とパディングについて私が何か根本的に間違ってますか・・・?