在我的机器上,我得到以下结果:
sizeof(long) = 8
sizeof(long int) = 8
在哪里使用long int
,为什么不直接使用int
?
最佳答案
如您的评论所述,您提供的示例与您提出的问题无关。如果您的问题是:
So my question is where to use
long int
and why not just uselong
?
...那么答案很简短:使用您选择的任何一个,因为它们是等效的。
这是您提出的问题及其答案:
So my question is where to use
long int
and why not just useint
?
int
保证至少能够存储位于 -32767 和 32767 范围内的值。实现可能会做出允许它存储该范围之外的值的决定,但这不是必需的。
long int
或 long
保证至少能够存储位于 -2147483647 和 2147483647 范围内的值。同样,实现可能会做出允许它存储该范围之外的值的决定,但不是必需的。
因此,如果您对开发可移植软件感兴趣,那么使用 int
是有意义的。对于不希望存储超出最小范围(-32767 .. 32767)的值的对象 int
.同上 long
.
如果您对开发可移植软件不感兴趣,并且只关心自己的实现,请使用最能满足您要求的类型。您可以获得 int
的实现范围通过审查 INT_MIN
和 INT_MAX
来自 <limits.h>
, 和 long
通过审查 LONG_MIN
和 LONG_MAX
.
请注意 sizeof
由于存在填充位和负零的可能性,整数类型不一定准确反射(reflect)其范围。
关于c - C中什么情况下可以使用long int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15871390/