c语言二维数组,数字指针

设有以下说明和语句:int x[3][4],(p)[4];p=a;,则与表达式(p+2)等价的选项是(A)。
A、a[0][2] B、
(a+2)[0] C、(*a+2)[0] D、a[2][0]
选项C代表什么啊?

(*a+2)[0] 代表 a[0][2]
如果是 int a[4][3]
(*a+M)[N] 代表 a[(M+N)/3][(M+N)%3]


#include<stdio.h>
int main()
{
    int a[4][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
    int i;
    for(i = -2; i < 9; ++i)
        printf("(*a+2)[%d]=%d\n", i, (*a+2)[i]);
    return 0;
}

img

代表的是a【2】【0】