配列型 int x[5]; 上の様に配列を宣言した場合、配列 x とは何なのでしょうか? int の字が見えるからと言って、int 型の変数という訳ではありません。 と言うことは、配列は変数ではないのでしょうか? いえいえ実は、x も変数です。 配列型の一つである "int[5]" という型の変数なのです。 然し、以前、変数の宣言は "〈型〉 〈変数名〉;" と記述すると述べました。 これは、その形式に則っていません。 実は、前に示した形式は完全な物ではないのです。 例外として、配列型変数 (と関数ポインタ変数) の宣言はこの形式には従いません。 配列型の型名は、変数名の左右に分裂してしまっているのです。 (補足 複雑な型の宣言) int x [5] ; ~~~ ~~~ ↑ ↑ 型名 配列型は、参照型の様に良く分からない様な存在ではありません。 int 型や double 型の様に分かり易