int b[3][2]={2 4 6 8 10};
int(*p3)[3]=b;
((p3+1)+2)=99;
第二行就指针数组里的3个元素是b数组里的2 4 6吗?
然后第三行是什么意思?
int b[3][2]={2 4 6 8 10}; 这一行少了一个数字 int b[3][2]={2 4 6 8 10 11};
int(*p3)[3]=b; 声明了一个二维指针,第一维是3个数字长度 2 4 6, 8 10 11 分组为2行
((p3+1)+2)=99; 这一行应该少了2个 * 号; * ( *(p3+1)+2)=99 , *(p3+1)表示跳到第二行 之后再第二行取下标为2也就是第三个元素11, 之后11被替换为99
最终 b[3][2] = {2 4 6 8 10 99};
转成数组形式就看得清楚了。
int b[3][2] = {{2, 4},{6, 8}, {10,0}};
int p3[][3] = b;
p3为{{2, 4, 6},{8, 10,0}};
p3[1][2] = 99;