第一步:理解指针和一维数组
重要等价关系:1) a = &a[0], 表示一维数组的首地址,即数组名是一个指针常量(数组首地址);
2) a[i] = *( a + i ), 表示的是第i个数组元素的内容(值)。
第二步:理解指针和二维数组
重要等价关系:1) a = a[0] = &a[0][0], 二维数组的首地址;
2) a[i] = *( a + i ), 注意这里 a[i] 是一个指针了,表示第 i 行的首地址;
3)&a[i] + j = &a[i][j], 第 i 行第 j 列个元素的地址;
4)a[i][j] = *(a[i] + j) = *(*(a + i) + j), 表示第 i 行第 j 列个元素的内容(值)。
原文:https://www.cnblogs.com/WinkinChan/p/12535857.html