>>600
レスありがとうございます。b[N]にした場合、
int a[N][2]; int *b[N];
b = a; がコンパイルエラーになるのは、aが二次元配列で、bがポインタ(int *)の配列(要素数N) だからでしょうか?
int (*c)[2];
c = a; がコンパイルエラーにならないのはなぜですか?
そもそも、int (*c)[2]の意味が分かりません・・・
あと、int *b[2] と int *(d[2]) は同じなんでしょうか?それとも違う?

質問ばかりですいません・・・ この辺の事を易しく解説しているサイトとかあれば教えて下さい。