为什么a[0]和*(a+0)等价?还有为什么&列指针会变成行指针?
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[i]就是按*(a+i)来计算的。
a[i]
*(a+i)