若有以下定义和语句: int s[4][5],( *ps)[5]; ps=s; 则对s数组元数的正确引用形式是

admin2010-01-10  24

问题 若有以下定义和语句:    int s[4][5],(  *ps)[5];    ps=s;    则对s数组元数的正确引用形式是

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

答案4

解析 本题首先定义了一个4行5列的数组s,又定义了一个指向由5个元素组成的一维数组的指针变量ps,通过赋值让ps指向了数组s的首地址。此时数组元素 s[i)[j]的地址为“*(ps+i)+j”,数组元素s[j]可表示为*(*(pe+i)+j);选项B表示的是数组元素a[3][0]的地址;选项D表示的是数组元素s[1][3]的地址;选项A中“ps+1”为指向下一行(第二行)的地址;选项C中ps[0][2]无条件等价于“*(ps[0] +2)”又无条件等价于“*(*(pe+0)+2)”,即是数组元素s[0][2]。
转载请注明原文地址:https://kaotiyun.com/show/PLWp777K
0

最新回复(0)