void f(void)
{
int * p;
int a[3] = {1,2,3};
p = a;
printf("%d %d", a[0], p[0], *(a+1), *(p+1));  //此处四种表示方法等价
}

  思考:为什么数组可以使用下标进行元素定位?

  答:因为数组名等价于数组第一个元素的地址,如上述代码中a[0]与*p等价与*(p+0)等价,a与p等价,所以数组的下标涵义上是通过指针的移位进行定位的。

04-25 04:20