理解这个问题的要点是: 二维数组是 元素为一维数组的一维数组。
于是
a[0]是作为二维数组首元素的一维数组名,所以a[0]表示一维数组(实际是二维数组首行)首元素的地址,即,a[0]是a[0][0]的地址;
数组名a是指针,指向其首元素(a[0]),即其值为&a[0](&a[0]指向a[0][0]),所以*(a)(即*(a+0))指向指向a[0][0];所以,a[0]与*(a+0)等价,都是指向a[0][0]。
不知这样说能不能理解。
a[0]表示在数组a中的第一个元素。
*(a+0)要理解这个首先要知道*a表示指向数组a的指针的值。
一般都是指向第一个,而指针加0则表示指针指向的偏移量加0.加0之后还是0,也就是没有偏移,即*(a+0)等价于a[0].