答案选B。
从声明来看,int (*p)[3],*p在括号里,所以可以肯定p是指针,参考int *p来看,很容易明白。
那它指向的是什么呢,括号后面跟的是一个[],也就是一个数组的形式,那证明p是指向一个数组的,参考int a[3]来看,a是一个数组,那么(*p)是一个数组,既然*p是一个数组,那p就是指向数组的指针了。
然后根据3和int,可以判断,p指向的是一个包含3个int类型元素的数组。
B
int a[4][3];
int (*p)[3];
p=a[1];
(*p)[2] 就是 a[1][2];