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

admin2009-04-15  17

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

选项 A、p+l
B、*(p+3)
C、*(p+1)+3
D、*(p[0]+2)

答案8

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

最新回复(0)