关于数组指针地址一问
书上说 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

老师说:会写代码的人多如牛毛,但写得很规范的却不多。代码要规范,养成好习惯~!