已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是[ ]。为什么选择D

已知数组A和指针p定义为:int A[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是[ ]。
A) p=&A 或 p=A[0][0] B) p=A 或 p=&A[0][0]
C) p=&A[0] 或 p=A[0][0] D) p=A[0] 或 p=&A[0][0]

含有p=A[0][0]的肯定错误,因为p是指针,A[0][0]是第一个元素的值,即A、C错误
p=&A[0][0] 即 &A[0][0]的地址给p,肯定正确
p=A[0]是正确的,因为二维数组可以看成多个一维数组,数组名即地址。
A[20][10]看成20个一维的,A[0]...A[19]是每个的地址

所以,D
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-25
A是一个二维数组。数组的首地址也就是第一个元素指向的地址。所以A[0]和&A[0][0]等价。
第2个回答  2012-06-25
A本身可以被当作指针来用,&A调出 A的地址然后赋值给p
第3个回答  2012-06-25
选A