问题 单项选择题

若有以下说明和语句 int c[4] [5],(*p)[5]; p=c; 能够正确引用c数组元素的是

A.p+1

B.*(p+3)

C.*(p+1)+3

D.*(P[0]+2)

答案

参考答案:D

解析: 本题中定义了一个二维数组c和一个指针数组p并初始化让它指向c,显然此时p中的各元素为地址,选项A中p+1,此时其中的1代表的长度是整个;维数组c的长度,故 p+1将让p指向c数组后面的元素,故不能引用c数组中的成员,故选项A错误; 同理选项B和选项C都不正确,选项D中p[0]指的是指针数组中的第一个元素的地址即c的首地址,此时的1的长度代表的是数组c中一行的长度,故p[0]+2代表的是第三行的首地址,而*(p[0]+2)将代表第三行的第一个元素的地址,所以,4个选项中选项D符合题意。

单项选择题 A1/A2型题
判断题