不管是1位数组还是2维数组在内存中都是一块连续的区域
[0][0] -> 9
[0][1] -> 8
[0][2] -> 7
[1][0] -> 6
[1][1] -> 5
[1][2] -> 4
[2][0] -> 3
[2][1] -> 2
[2][2] -> 1
*p = &[1][1]
p指向了 5 这个的位置
循环第一次
p[0] 也就是当前位置所以是5
第二次
p[2] 也就是指针加2 移动到了[2][0] 也就是3
最后输出5 3
因为内存是连续的,二维数组只是一个逻辑,3*3的二维数组,在内存里就是连续的9个整型而已。
x是个二维数组,但是指针p并不是二级指针,只是一个一级指针,它指向的是x[1][1]的地址
那么p[i]就是指向的p+i的地址