宏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字节