char是 1 字节增量。int是 2 字节增量。float是 4 字节增量。double为 8 字节增量。为什么 int 在这里增加4 个字节?


试试这个:
int i;
...
printf("%d",sizeof(i));
你得到了什么?最有可能 4. 为什么?因为您的 CPU 很可能是 32 位的。2 字节 int 在较旧的 CPU 上是正确的...
永远不要根据“应该”来假设变量的大小,始终使用 sizeof()!
int是 32 位,所以float. 这里,double是 64 位。
在许多 16 位系统上,int是 16 位。C 的int目的是使其编译为的系统最自然的大小。不要求int跨系统的大小相同。