C语言里64位程序long类型的变量 长度是4还是8?

我试着把C编译器换成64位的, 然后写了如下程序. #include <stdio.h> int main() { long a=1; long lo…
关注者
46
被浏览
94,012
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

这个应该取决于操作系统采用的是哪个C Language Data Model。

在32位的操作系统下,大部分的操作系统都是采用的ILP32,因此,long是4个字节

在64位的操作系统下,Windows采用的是LLP64,long是4个字节,类Unix操作基本都是采用的LP64,因此,long是8个字节

参考: