Namespaces
Variants

C Standard Library headers

From cppreference.net
< c

The interface of C standard library is defined by the following collection of headers.

Conditionally compiled macro that compares its argument to zero
Complex number arithmetic
Functions to determine the type contained in character data
Macros reporting error conditions
Floating-point environment
Limits of floating-point types
Format conversion of integer types
Alternative operator spellings
Ranges of integer types
Localization utilities
Common mathematics functions
Nonlocal jumps
Signal handling
(since C11) (deprecated in C23)
alignas and alignof convenience macros
Variable arguments
Atomic operations
Macros to work with the byte and bit representations of types
(since C99) (deprecated in C23)
Macros for boolean type
Macros for performing checked integer arithmetic
Common macro definitions
Fixed-width integer types
Input/output
General utilities: memory management , program utilities , string conversions , random numbers , algorithms
(since C29)
Text transcode
(since C11) (deprecated in C23)
noreturn convenience macro
String handling
Type-generic math (macros wrapping <math.h> and <complex.h> )
Thread library
Time/date utilities
UTF-16 and UTF-32 character utilities
Extended multibyte and wide character utilities
Functions to determine the type contained in wide character data

Feature test macros (since C23)

Feature test macros are defined in corresponding headers respectively since C23. Note that not all headers contain such a macro.

# Header Macro name Value
1 <assert.h> __STDC_VERSION_ASSERT_H__ 202311L
2 <complex.h> __STDC_VERSION_COMPLEX_H__ 202311L
3 <ctype.h> N/A
4 <errno.h> N/A
5 <fenv.h> __STDC_VERSION_FENV_H__ 202311L
6 <float.h> __STDC_VERSION_FLOAT_H__ 202311L
7 <inttypes.h> __STDC_VERSION_INTTYPES_H__ 202311L
8 <iso646.h> N/A
9 <limits.h> __STDC_VERSION_LIMITS_H__ 202311L
10 <locale.h> N/A
11 <math.h> __STDC_VERSION_MATH_H__ 202311L
12 <setjmp.h> __STDC_VERSION_SETJMP_H__ 202311L
13 <signal.h> N/A
14 <stdalign.h> N/A
15 <stdarg.h> __STDC_VERSION_STDARG_H__ 202311L
16 <stdatomic.h> __STDC_VERSION_STDATOMIC_H__ 202311L
17 <stdbit.h> __STDC_VERSION_STDBIT_H__ 202311L
18 <stdbool.h> N/A
19 <stdckdint.h> __STDC_VERSION_STDCKDINT_H__ 202311L
20 <stddef.h> __STDC_VERSION_STDDEF_H__ 202311L
21 <stdint.h> __STDC_VERSION_STDINT_H__ 202311L
22 <stdio.h> __STDC_VERSION_STDIO_H__ 202311L
23 <stdlib.h> __STDC_VERSION_STDLIB_H__ 202311L
24 <stdmchar.h> __STDC_VERSION_STDMCHAR_H__ 2029 ?? L
25 <stdnoreturn.h> N/A
26 <string.h> __STDC_VERSION_STRING_H__ 202311L
27 <tgmath.h> __STDC_VERSION_TGMATH_H__ 202311L
28 <threads.h> N/A
29 <time.h> __STDC_VERSION_TIME_H__ 202311L
30 <uchar.h> __STDC_VERSION_UCHAR_H__ 202311L
31 <wchar.h> __STDC_VERSION_WCHAR_H__ 202311L
32 <wctype.h> N/A

References

  • C23 standard (ISO/IEC 9899:2024):
  • 7.1.2 Standard headers (p: 191-192)
  • C17 standard (ISO/IEC 9899:2018):
  • 7.1.2 Standard headers (p: 131-132)
  • C11 standard (ISO/IEC 9899:2011):
  • 7.1.2 Standard headers (p: 181-182)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.1.2 Standard headers (p: 165)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.1.2 Standard headers

See also

C++ documentation for Standard Library headers