-4

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

十六进制增量程序

十六进制增量输出

4

2 回答 2

3

试试这个:

int i;
...
printf("%d",sizeof(i));

你得到了什么?最有可能 4. 为什么?因为您的 CPU 很可能是 32 位的。2 字节 int 在较旧的 CPU 上是正确的...

永远不要根据“应该”来假设变量的大小,始终使用 sizeof()!

于 2012-10-19T06:38:15.150 回答
0

int是 32 位,所以float. 这里,double是 64 位。

在许多 16 位系统上,int是 16 位。C 的int目的是使其编译为的系统最自然的大小。不要求int跨系统的大小相同。

于 2012-10-19T06:37:23.730 回答