爲了加深對於二維數組指針的理解,找到了一個還不錯的例子,如下:
#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列的元素值
}
}
輸出結果如下