已知数组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]
问题描述:
已知数组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