一些头文件的说明
下面对一些比较常见的头文件进行必要的说明:
说明:在C库中,<limits.h>定义了一些常量,这些常量界定了当前编译器运行的机器中不同整数数据类型的范围。例如,它定义了常量:INT_MAX,INT_MIN,UINT_MAX用来描述有符号和无符号的整数。
ISO C99标准引入了另一种定义整数类型的文件<stdint.h>,它用诸如intN_t,uintN_t的方式定义,可以直观的看出位数,如int32_t,uint16_t分别代表32位的有符号整型和16位的无符号整型。
<limits.h>的内容:
/*------------------------------------------------------------------------- limits.h - ANSI defines constants for sizes of integral types Written By - Sandeep Dutta . sandeep.dutta@usa.net (1999) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. In other words, you are welcome to use, share and improve this program. You are forbidden to forbid anyone else to use, share and improve what you give them. Help stamp out software-hoarding! -------------------------------------------------------------------------*/ #ifndef __SDC51_LIMITS_H #define __SDC51_LIMITS_H 1 #define CHAR_BIT 8 /* bits in a char */ #define CHAR_MAX 127 #define CHAR_MIN -128 #define SCHAR_MAX CHAR_MAX #define SCHAR_MIN CHAR_MIN #define UCHAR_MAX 0xff #define UCHAR_MIN 0 #define INT_MIN -32768 #define INT_MAX 32767 #define SHRT_MAX INT_MAX #define SHRT_MIN INT_MIN #define UINT_MAX 0xffff #define UINT_MIN 0 #define USHRT_MAX UINT_MAX #define USHRT_MIN UINT_MIN #define LONG_MIN -2147483648 #define LONG_MAX 2147483647 #define ULONG_MAX 0xffffffff #define ULONG_MIN 0 #endif