用指针表示二维数组

表 示 形 式 含义 地 址
a 二维数组名,指向一维数组a[0],即0行首地址 2000
a[0],
*(a+0),
a 0行0列元素地址 2000
a+1,&a[1] 1行首地址 2016
a[1],
(a+1) 1行0列元素a[1][0]的地址 2016
a[1]+2,
*(a+1)+2,
&a[1][2] 1行2列元素a[1][2] 的地址 2024
*(a[1]+2),
((a+1)+2),
a[1][2] 1行2列元素a[1][2]的值 元素值为13

int (p)[4]
从前面的分析可得出
(p+i)+j是二维数组i行j 列的元素的地址,而((p+i)+j)则是i行j列元素的值。
二维数组指针变量说明的一般形式为:

类型说明符 (*指针变量名)[长度]

其中“类型说明符”为所指数组的数据类型。“*”表示其后的变量是指针类型。“长度”表示二维数组分解为多个一维数组时,一维数组的长度,也就是二维数组的列数。

原文地址:https://www.cnblogs.com/poli/p/4542867.html