assert.h |
locale.h |
stddef.h |
ctype.h |
math.h |
stdio.h |
errno.h |
setjmp.h |
stdlib.h |
float.h |
signal.h |
string.h |
limits.h |
stdarg.h |
time.h |
大多数实现提供更多头文件,但是严格符合 1990 ISO/IEC 标准的 C 程序只能使用这些头文件。
关于其中某些头文件的内容,其他标准稍有不同。例如,POSIX (IEEE 1003.1) 指定 fdopen 在 stdio.h 中声明。为了允许这两种标准共存,POSIX 要求在包含任何头文件之前对宏 _POSIX_SOURCE 进行 #defined,以保证这些附加名称存在。在其可移植性指南中,X/Open 对其扩展也使用这种宏方案。X/Open 的宏是 _XOPEN_SOURCE。
ISO C 要求标准头文件同时是自给自足和幂等的。标准头文件之前或之后不需要任何其他头文件进行 #included,并且每个标准头文件可多次进行 #included 而不会导致问题。该标准还要求它的头文件只能在安全上下文中进行 #included,以便保证头文件中使用的名称保持不变。