关于数组指针地址一问
书上说 a[4] = *(a+4),a[4]-a[3]=1。但为什么我把数组的指针地址输出后,相隔并不是1,而是4的呢?程序代码:
# include <stdio.h> int main(void) { int a[5]; int i; for (i=0; i<5; i++) { printf("%#X\n", &a[i]); //无论是 %d 还是定义成其他类型输出,都是相隔4,但为何 a[4]-a[3]=1 ? } printf("\n"); return 0; }
输出结果:
程序代码:
0X12FF34 0X12FF38 0X12FF3C 0X12FF40 0X12FF44