#include <stdio.h>
int main()
{
int arr[5] = {10,20,30,40,50};
int i;
int (*p)[5] = &arr;
printf("%d\n",sizeof(p)); // p是指针类型 不管什么时候 输出都是4
printf("%d\n",sizeof(int (*)[5]));
printf("%d\n",sizeof(arr)); // sizeof(int *[5]) = 20
for(i=0;i<5;i++)
{
printf("%d\n",(*p)[i]);
printf("%d\n",*(*p+i)); // *p是首地址
printf("%d\n",p[0][i]);
printf("%d\n",*(p[0]+i));
}
return 0;
}
便利数组时,首先要找到首元素地址,然后偏移加间接引用。*p是首地址