假定a为一维数组,则a[i]的指针访问方式是什么

是不是*a(i+1)啊?

一维数组的数组名,在不改变其值情况下,可以做指针使用。
在作为指针时,a[i]等效于*(a+i)。
也可以单独定义指针。比如定义a的同类型一维指针p,令p=a;
这样*(p+i)同样是访问a[i]的。
区别是这个p是可以加减的,所以同样可以p = a+i; 这时*p就是a[i]了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-16
地址是可以进行加减运算的。而且加1的一会自动转换成加该类型一个变量所占空间大小,也就是说指向了下一个的地址了。所以应该是*(a+i)表示a[i]本回答被提问者采纳
第2个回答  2010-07-15
#include <stdio.h>

int main(void)
{

int a[] = {0,1,2,3,4,5,6};

int *p = a;

int i =0;
for (;i<7; i++)
printf("%d \n",*(p+i));
return 0;
}

输出的结果为:
0
1
2
3
4
5
6
第3个回答  2010-07-15
是*(a+i),没有*a(i+1)这种表示方法的
第4个回答  2010-07-15
p = &a[0];

p+i 是a[i]的指针访问方式
相似回答