limits.h提供了用来定义各种整数类型(包括字符类型)取值范围的宏。
limits.h
CHAR_BIT
SCHAR_MIN
SCHAR_MAX
UCHAR_MAX
CHAR_MIN
CHAR_MAX
MB_LEN_MAX
SHRT_MIN
SHRT_MAX
USHRT_MAX
INT_MIN
INT_MAX
UINT_MAX
LONG_MIN
LONG_MAX
ULONG_MAX
LLONG_MIN
LLONG_MAX
ULLONG_MAX
下面的示例是使用预处理指令判断,int 类型是否可以用来存储大于 100000 的数。
#if INT_MAX < 100000 #error int type is too small #endif
上面示例中,如果 int 类型太小,预处理器会显示一条出错消息。
可以使用limit.h里面的宏,为类型别名选择正确的底层类型。
limit.h
#if INT_MAX >= 100000 typedef int Quantity; #else typedef long int Quantity; #endif
上面示例中,如果整数类型的最大值(INT_MAX)不小于100000,那么类型别名Quantity指向int,否则就指向long int。
Quantity
int
long int
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8