【发布时间】:2020-07-06 21:00:17
【问题描述】:
我使用gcc 7.5.0 在 32 位机器上运行 C 程序。
为什么第二个数字的值比第一个数字大 14?
#include <stdio.h>
int main(void)
{
int a[5];
printf("%p\n", &a);
printf("%p\n", &a+1);
return 0;
}
结果是:
0x7ffd7293f560
0x7ffd7293f574
为什么第二个数字比第一个数字大 14?
【问题讨论】:
-
区别是
20:0x...74 - 0x...60 = 0x00..0014 = 16 + 4 = 20。
标签: c pointers pointer-arithmetic