指针与数组下标访问与指针访问的区别如下:
char *p="abcde";
char a[5]={1,2,3,4,5};printf(" p+4 = 0x%p,*(p+4) = 0x%x\n",p+4,*(p+4));
printf("&p[4] = 0x%p, p[4] = 0x%x\n",&p[4],p[4]);
printf(" a+4 = 0x%p,*(a+4) = %d\n",a+4,*(a+4));
printf("&a[4] = 0x%p, a[4] = %d\n",&a[4],a[4]);
仿真局部变量的地址与结果如下所示: