char
是 1 字节增量。int
是 2 字节增量。float
是 4 字节增量。double
为 8 字节增量。为什么 int 在这里增加4 个字节?
问问题
221 次
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 回答