配列の先頭アドレス(新・闘わないプログラマ No.327)

Cのテキストになりそうな本をいくつか眺めてみているところです。...
「“int a[10];”というふうに配列を宣言した場合、配列名“a”はその配列の先頭アドレスになります」
というような表現をよく目にします。... この表現、なんか気になるんですよね、... せめて「配列名“a”を式の中に書くと、普通は配列の先頭要素を指すポインタになります」くらいは書けないかな、と思うわけです。...
で、「配列名“a”はその配列の先頭アドレスになります」という表現の問題点は、大きく2つあります。
まず、「先頭アドレスになります」と断言している点。これにはよく知られているように例外があります。... もう一点は「配列の先頭アドレス」というあたりです。... 配列名が式の中に現れたとき、大概の場合(上記のような例外を除く)は、「配列の先頭要素を指すポインタ」の意味になります。「配列の先頭を指すポインタ」ではありません。...