二维数组是一维数组的数组,其在内存中存储的时候,按行优先的顺序存储,而a[0] a[1] a[2]
表示每行的元素首地址
a[1]表示a[1]所在行的地址,此时a[1]相当于一维数组,其元素也就是 a[1][0] a[1][1] a[1][2] 三个元素的一维数组。
你可以将a[1]看成一维数组b,则其元素也就是b[0] b[1] b[2]
而 p1 = b 则p1[1] = b[1] = a[1][1] = 1 这也是A为什么正确的原因。
至于c和d,(*p2)[3]=a 相当于 p2[0] = a[0] p2[1] = a[1] p2[2] = a[2]
这样就可以理解了。 |