Linux下C库学习 - limits.h

来源:互联网 发布:手机qq浏览器3.1java版 编辑:程序博客网 时间:2024/04/30 03:10

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的最大值

这个头文件的内容不太多,主要就是为了移植做了一些限制,如果你想在程序中使用这些边界值的话,一定要使用系统定义的宏,否则在不同平台使用的时候,可能会有一些莫名其妙的错误。

0 0
原创粉丝点击