C语言从头学56——学习头文件limits.h
头文件limits.h定义了整数类型(包括字符型)取值范围的宏。
CHAR_BIT :每个字符包含的二进制位数。
SCHAR_MIN :signed char 类型的最小值。
SCHAR_MAX :signed char 类型的最大值。
UCHAR_MAX :unsiged char 类型的最大值。
CHAR_MIN :char 类型的最小值。
CHAR_MAX :char 类型的最大值。
MB_LEN_MAX :多字节字符最多包含的字节数。
SHRT_MIN :short int 类型的最小值。
SHRT_MAX :short int 类型的最大值。
USHRT_MAX :unsigned short int 类型的最大值。
INT_MIN :int 类型的最小值。
INT_MAX :int 类型的最大值。
UINT_MAX :unsigned int 类型的最大值。
LONG_MIN :long int 类型的最小值。
LONG_MAX :long int 类型的最大值。
ULONG_MAX :unsigned long int 类型的最大值。
LLONG_MIN :long long int 类型的最小值。
LLONG_MAX :long long int 类型的最大值。
ULLONG_MAX :unsigned long long int 类型的最大值。
结合使用的系统,可以看到这些宏的取值。Win10 VS2022的结果见下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<limits.h>
int main(void)
{
printf("每个字符包含的二进制位数:%d\n", CHAR_BIT);//运行结果:每个字符包含的二进制位数:8
printf("signed char 类型的最小值:%d\n", SCHAR_MIN);//运行结果:signed char 类型的最小值: - 128
printf("signed char 类型的最大值:%d\n", SCHAR_MAX);//运行结果:signed char 类型的最大值:127
printf("unsiged char 类型的最大值:%d\n", UCHAR_MAX);//运行结果:unsiged char 类型的最大值:255
printf("char 类型的最小值:%d\n", CHAR_MIN);//运行结果:char 类型的最小值: - 128
printf("char 类型的最大值:%d\n", CHAR_MAX);//运行结果:char 类型的最大值:127
printf("多字节字符最多包含的字节数:%d\n", MB_LEN_MAX);//运行结果:多字节字符最多包含的字节数:5
printf("short int 类型的最小值:%d\n", SHRT_MIN);//运行结果:short int 类型的最小值: - 32768
printf("short int 类型的最大值:%d\n", SHRT_MAX);//运行结果:short int 类型的最大值:32767
printf("unsigned short int 类型的最大值:%d\n", USHRT_MAX);//运行结果:unsigned short int 类型的最大值:65535
printf("int 类型的最小值:%d\n", INT_MIN);//运行结果:int 类型的最小值: - 2147483648
printf("int 类型的最大值:%d\n", INT_MAX);//运行结果:int 类型的最大值:2147483647
printf("unsigned int 类型的最大值:%u\n", UINT_MAX);//运行结果:unsigned int 类型的最大值: 4294967295
printf("long int 类型的最小值:%d\n", LONG_MIN);//运行结果:long int 类型的最小值: - 2147483648
printf("long int 类型的最大值:%d\n", LONG_MAX);//运行结果:long int 类型的最大值:2147483647
printf("unsigned long int 类型的最大值:%u\n", ULONG_MAX);//运行结果:unsigned long int 类型的最大值:4294967295
printf("long long int 类型的最小值:%lld\n", LLONG_MIN);//运行结果:long long int 类型的最小值:-9223372036854775808
printf("long long int 类型的最大值:%lld\n", LLONG_MAX);//运行结果:long long int 类型的最大值: 9223372036854775807
getchar();
return 0;
}