limits.h
和float.h相比较limits.h主要对整形数和字符型数据的的边界做了一些限制,头文件的内容很简单,不过他的作用很大,可以让你的程序在不同环境下都可以正常运行,比如,int类型有可能是16位,32位甚至64位,假如你在int类型占16位的机器上想使用int类型的最大值,如果没有limit.h那你只能写一个数值65535,但是如果你的程序在32位的机器上或者64位的机器上跑,程序可能就会有问题,而limits.h就解决了这个问题,如果你想使用int类型的最大值,只需要用INT_MAX
这个宏就可以了,这样,在任何符合标准的机器上,你的程序都不会有问题。
limits.h中的宏定义很简单,大概有下面这些
char
类型
CHAR_BIT
表示char
类型所占的位数
CHAR_MIN
表示char
的最小值
CHAR_MAX
表示char
的最大值
SCHAR_MIN
表示signed char
的最小值
SCHAR_MAX
表示signed char
的最大值
UCHAR_MAX
表示unsigned char
的最大值
short
类型
SHRT_MIN
表示short
的最小值
SHRT_MAX
表示short
的最大值
USHRT_MAX
表示unsigned short
的最大值
int
类型
INT_MIN
表示int
的最小值
INT_MAX
表示int
的最大值
UINT_MAX
表示unsigned int
的最大值
long
类型
LONG_MAX
表示long
的最大值
LONG_MIN
表示long
的最小值
ULONG_MAX
表示unsigned long
的最大值
LLONG_MIN
表示long long
的最小值
LLONG_MAX
表示long long
的最大值
ULLONG_MAX
表示unsigned long long
的最大值
这个头文件的内容不太多,主要就是为了移植做了一些限制,如果你想在程序中使用这些边界值的话,一定要使用系统定义的宏,否则在不同平台使用的时候,可能会有一些莫名其妙的错误。