在什么情况下可以在C中使用long int

For*_*med 0 c int long-integer

在我的机器中,我得到以下结果:

sizeof(long) = 8

sizeof(long int) = 8
Run Code Online (Sandbox Code Playgroud)

在哪里使用long int,为什么不使用int

aut*_*tic 5

如您的评论所示,您提供的示例与您提出的问题无关.如果你的问题是:

所以我的问题是在哪里使用long int,为什么不使用long

...然后答案很简短:使用你选择的任何一个,因为它们是等价的.

这是你问的问题,然后是答案:

所以我的问题是在哪里使用long int,为什么不使用int

int 保证能够至少存储在-32767和32767范围内的值.实现可能会做出允许它存储超出该范围的值的决策,但不是必需的.

long int或者long保证能够至少存储-2147483647和2147483647范围内的值.同样,实现可能会做出允许它存储超出该范围但不需要的值的决策.

因此,如果您对开发便携式软件感兴趣,那么您可以使用int不希望存储超出该最小范围(-32767 ... 32767)的值的对象int.同上long.

如果您对开发便携式软件不感兴趣,并且只关心自己的实现,请使用最符合您要求的类型.你可以得到你的实现范围int通过审查INT_MIN,并INT_MAX<limits.h>,并long通过审查LONG_MINLONG_MAX.

请注意,sizeof整数类型不一定是其范围的精确反映,因为可能存在填充位和负零.