int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12} ,(*prt)[3]=a,*p=a[0] ; 行指针指向2维数组的a【0】【0】?*p指向a【0】?a【0】具体是哪个

问题描述:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12} ,(*prt)[3]=a,*p=a[0] ;
行指针指向2维数组的a【0】【0】?*p指向a【0】?a【0】具体是哪个

(*prt)[3]=a指的是(*prt)+3的这块指针指向2维数组a的首地址,prt应该是个2维指针.
*p=a[0]指的是大小为3的第二维数组的首地址.
如果不对指针做加法运算的话,不用计较它真正指向几维数组,他们指向的都是a、a[0]、a[0][0]的地址.