问题 单项选择题

若有以下说明和语句:
int c[4] [5] ,( * p) [5];
p=e;
能够正确引用c数组元素的是( )。
A) p+1 B) *(p+3) C) *(p+1)+3 D) *(p[0]+2)

答案

参考答案:D

解析: (*p)[5]中p是一个行指针,指向一个包含5个元素的一维数组,p的值是该一维数组的首地址。当用行指针访问二维数组时,行指针每增加1,表示指针指向二维数组的下一行,此题中的p+i将指向数组的第i行。选项A)的意思是指向数组c的第1行,不是引用c数组的元素;选项B)中p+3是指向数组元素的第3行,。(P+3)是指第3行第0个元素的地址;选项C)可由对选项A)、选项B)的解释知,它指的是第1行第3列元素的地址;选项D)中p[0] +2是指第0行第2列元素的地址,再加个*就表示第0行第2列的元素,即c[0][2]。

单项选择题
单项选择题