C++指针问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 08:31:11
1:有以下语句,则对a数组引用不正确的是(0<=i<=9)‏
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A) a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i))
C为什么对?
a[i]是否完全等于p[i]
详细解答

数组是顺序存储的,单纯的a可以退化成指针,即指向数组第一个元素的指针,因此,int *p=a,表示指针p也指向数组第一个元素,同样地,可以通过p[i]进行访问,可以理解为a[i]==p[i]。

个人理解,如果不对,请指出。