int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56}; printf("%x,%x\n",c[2][2],*(*(c+1)+1));3e,6.那个6是怎么来的啊?

问题描述:

int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56}; printf("%x,%x\n",c[2][2],*(*(c+1)+1));
3e,6.那个6是怎么来的啊?

二维数组c[][4],c=&c[0],这里可以理解为c的是0行地址.*(c+1)表示的是1行首地址的值,还是一个地址,(*(c+1)+1),表示的是1行一列的地址.*(*(c+1)+1)表示的是1行1列的值.即为6.