#4. 数据类型的大小

你已经知道了怎么用sizeof运算符来查看数据类型在存储器中的大小,但如果你想知道数据类保存的值的范围呢?例如,你知道int在你的机器上占4字节,但int变量能保存的最大正数和最小负数分别是多少呢?理论上可以通过它占用的字节数计算出来,但这很麻烦。

为此可以使用定义在limits.h头文件中的宏。如果你想知道long可以保存的最大值,可以使用LONG_MAX宏。short可以保存的最小负数呢?用SHRT_MIN。下面这个例子显示了intshort的范围:

#4. 数据类型的大小 - 图1

宏的名字取自数据类型:INT(int),SHRT(short),LONG(long),CHARchar),FLTfloat)和DBLdouble)。你可以在它们后面加上_MAX(最大正数)或_MIN(最小负数)。如果想查看更具体的数据类型,还可以加上前缀U(unsigned)、S(signed)或L(long)。