int和long的大小等于4字节[重复]

这个问题在这里已经有答案了
为什么;“长整型”;尺寸与“尺寸”相同;int"?这个修饰符能用吗?

(6个答案)

28天前关闭

我正在通过编码检查short、int和long的大小。我的期望是所有数据类型修饰符的大小都会不同。令人惊讶的是,long和int的大小是相同的,即4字节。我已经提供了代码和输出。我正在使用64位windows操作系统和gcc编译器(从https://www.msys2.org ).
我试图寻找它背后的原因,但不幸的是,要么我无法理解,要么原因很模糊

#包括<标准h>
int main()
{
printf(“短尺寸为%d”,sizeof(短尺寸));
printf(“int的大小为%d”,sizeof(int));
printf(“长尺寸为%d”,长尺寸为%d”);
}

输出:


短的大小是2
int的大小是4
龙的大小是4

整数的大小完全取决于您使用的系统或机器。例如,在我的计算机中,sizeof(int)==4,然后sizeof(short)==2,sizeof(long)==8。但是,这始终不是保证,唯一保证的是:

sizeof(短)&lt=sizeof(int)&lt=sizeof(长)

因此,整数的大小可能具有相同的值,可能short和int或int和long彼此相等,或者所有值都不相同。这完全取决于你正在使用的系统

发表评论