09/12/31 19:15:54
ご回答ありがとうございます。
なるほど・・・今度こそ理解できたような気がします(自信なし)。
char (*a)[5];
char c[5] = "abcd";
a = &c;
とした場合、printfとかで内容だけ見ると a == *a == c == &c となるけど、
実際は a と &c は配列へのポインタであり
そして *a と c は配列の最初の要素へのポインタということで、型が違うことですかね。
& や * という演算子は値→アドレス、アドレス→値の変換をする演算子だと
思っていましたが、この場合は例外的に型の変換が行われるわけですね。
C/C++ 難しすぎです!