宏LONG_MAX和LLONG_MAX均存在与头文件limits.h中,分别表示long int 和long long int类型的最大值。
下面程序在64位编译系统中,打印该宏的值。
#include <stdio.h>
#include <limits.h>
#include <string.h>
int main() {
char buf[100];
sprintf(buf, "%lld", LLONG_MAX);
printf("%s\n", buf);
memset(buf, 0, sizeof(buf));
sprintf(buf, "%ld", LONG_MAX);
printf("%s\n", buf);
return 0;
}
执行结果:
9223372036854775807
9223372036854775807
1、32位编译系统中:long 占4字节 int 占4字节 long int 占4字节
2、64位编译系统中:long 占8字节 int 占4字节 long int 占8字节
3、32位和64位编译系统中long long int 在32位和64位编译系统中,都占8字节
本文详细解析了宏LONG_MAX和LLONG_MAX在不同编译系统中的表现,这两个宏分别代表long int和long long int类型的最大值,展示了在64位编译系统下它们的具体数值,并对比了32位与64位系统中数据类型占用字节数的差异。
706

被折叠的 条评论
为什么被折叠?



