宏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
- 32位编译系统中:
long 占4字节 int 占4字节 long int 占4字节 - 64位编译系统中:
long 占8字节 int 占4字节 long int 占8字节 - 32位和64位编译系统中
long long int 在32位和64位编译系统中,都占8字节