A-A+

有如下说明: int a[10] ={1 2 3 4 5 6 7 8 9 10} * p=a

2022-08-05 21:37:55 问答库 阅读 172 次

问题详情

有如下说明:
int a[10] ={1,2,3,4,5,6,7,8,9,10},* p=a;
则数值为9的表达式是
A.*p+9
B.* (p+8)
C.* p+=9
D.p+8

参考答案

正确答案:B
解析:按照C++语言的数组元素的引用方法,如数组元素a[0] ,可以用表达式 * (p+0) ,即
* p来引用,对于数组元素a[1] ,可以用表达式 * (p+ 1) 来引用,在这里,p+1的值就是数组元素a[1] 的地址,对此地址使用“间接访问运算符”:* (p+1) 就代表存储单元a[1] ,注意一对圆括号不可少。同样,对于数组元素a[2] ,则可以用表达式 * (p+2) 来引用…,对于数组元素a[9] ,可以用表达式 * (p+9) 来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i< 10,则数组元素a[i] 可以用表达式 * (p+i) 来引用。

考点: