考虑
int a[100];
printf("%d\n", sizeof(a));
printf("%p, %p\n", a, a + 1);
打印的结果是:
400
0xbfd8b124, 0xbfd8b128
对于第一个结果分析,a应该是数据的首地址,但对于下一结果分析,a又是数组第一个元素的首地址。
想想为什么?
考虑
int a[100];
printf("%d\n", sizeof(a));
printf("%p, %p\n", a, a + 1);
400
0xbfd8b124, 0xbfd8b128
对于第一个结果分析,a应该是数据的首地址,但对于下一结果分析,a又是数组第一个元素的首地址。
想想为什么?