int a[3][4]; とあった場合

aという表記は、int [4]という型の要素を3つ持つ1次元配列。
a は &a[0] と同義なので、今言った1次元配列の先頭要素への
ポインタのこと。つまり、int (*)[4]ということになる。
&a は配列a全体へのポインタという意味になり、int(*)[3][4]
という型になる。

まとめると、
a --> &a[0] --> int (*)[4]
a[i] --> &a[0][0] --> int *
a[i][j] --> int
&a --> int (*)[3][4]