为了加深对于二维数组指针的理解,找到了一个还不错的例子,如下:
#include "stdio.h"
using namespace std;
int main()
{
int a[3][4] = { {1,2,3,4},{10,11,12,5},{9,8,7,6} }, i, j;
printf("%d,%d", a, *a);//打印数组的首地址,即第零行零列
for (i = 0;i < 3;i++)
{
printf("\ninline:%d,\n%d,%d,\n",i,a[i],*(a + i));
//打印数组第i行的首地址
for (j = 0;j < 4;j++)
{
printf("%d,%d,\n", a[i] + j, *(a + i) + j);
//打印第i行j列的地址
for (j = 0;j < 4;j++)
{
printf("%d,%d,\n", *(a[i] + j), *(*(a + i) + j));
}
//打印第i行j列的元素值
}
}
输出结果如下