c++中用数组作为参数的时候,传给指针*p的是数组a[]的首地址,也就是第一个元素的地址,所以这时的p并不是数组名,而是存有数组a[]的首地址的指针,所以调用*p[i]是不能访问数组a[]的元素的,因为这时*p[i]这个表达式的意思是调用一个名为p的指针数组的物理内存顺序上的第i+1个元素并取他所指向的对象。所以这时正确的调用方法只能是用*(p+i)。
p[i] == *(p+i)