当前位置: C语言 -- C标准库头文件

C标准库头文件

C语言标准库包含29个标准头文件,具体如下:

<assert.h> 诊断头文件。
<complex.h> 复数算术头文件。
<ctype.h> 字符处理头文件。
<errno.h> 错误头文件。
<fenv.h> 浮点环境头文件。
<float.h> 有关浮点类型特性的头文件。
<inttypes.h> 整数类型格式转换头文件。
<iso646.h> 拼写替换头文件。
<limits.h> 整数类型大小头文件。
<locale.h> 本地化头文件。
<math.h> 数学计算头文件。
<setjmp.h> 非本地跳转头文件。
<signal.h> 信号处理头文件。
<stdalign.h> 对齐头文件。
<stdarg.h> 可变参数头文件。
<stdatomic.h> 原子操作头文件。
<stdbool.h> 有关布尔类型和值的头文件。
<stddef.h> 常用定义头文件。
<stdint.h> 整数类型头文件。
<stdio.h> 输入输出头文件。
<stdlib.h> 通用工具头文件。
<stdnoreturn.h> 不返回头文件。
<string.h> 字符串处理头文件。
<tgmath.h> 泛型数学头文件。
<threads.h> 线程头文件。
<time.h> 日期和时间头文件。
<uchar.h> 统一码工具头文件。
<wchar.h> 扩展的多字节和宽字符工具头文件。
<wctype.h> 宽字符分类和映射工具头文件。

如果一个文件同上述某个标准头文件同名,但不是作为实现的一部分提供;并且如果该文件的父目录和标准头文件的父目录相同,其行为是未定义的

标准头文件可以按任意顺序包含。在指定范围内每个标准头文件可以包含多次,效果与包含一次是相同的;但<assert.h>头文件例外,包含<assert.h>头文件的效果取决于宏NDEBUG的定义。

如果要使用标准头文件,标准头文件应包含在任何外部声明或者定义之外;并且应先包含标准头文件,再使用该标准头文件中声明的类型、函数、对象和定义的宏。如果一个标识符在多个标准头文件中声明或者定义,第二个及随后的相关头文件可能包含在对该标识符的初始引用之后。包含头文件前或者扩展头文件中定义的宏时,程序中不能存在与当前定义关键词相同的宏。


标准头文件会声明相关的函数、必要的类型,定义所需的宏。每个库函数都在头文件中声明,其类型包括函数原型,其内容通过#include预处理指令提供。库函数的任何声明都应具有外部链接。

标准库以及附录K中定义的对象式宏必要时应扩展为使用括号完全保护的代码,以便在任意表达式中它像单个标识符。