int a[3];
数组名是一个指针常量,这个指针常量保存数组首元素地址。
*(&a) = a;
对一维数组的地址取值 == 数组首元素的地址;
&a;
对数组名取值 == 数组的地址。
int a[2][3];
二维数组名 == 第一个一维数组的地址。
对二维数组的地址取值 == 第一个一维数组的地址;
对二维数组名取值 == 首个一维数组的首元素地址。
*(*(a + i) + j);
a + i :第( i - 1 )个一维数组的地址;
*(a + i):第(i - 1)个一维数组的首元素的地址;
*(a + i) + j:第( i - 1 )个一维数组的第( j - 1 )个元素的地址;
*(*(a + i) + j):第( i - 1 )个一维数组的第( j - 1 )个元素的值。