C Standard Library headers - cppreference.com (original) (raw)

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

<assert.h> Conditionally compiled macro that compares its argument to zero[edit]
<complex.h>(C99) Complex number arithmetic[edit]
<ctype.h> Functions to determine the type contained in character data[edit]
<errno.h> Macros reporting error conditions[edit]
<fenv.h>(C99) Floating-point environment[edit]
<float.h> Limits of floating-point types[edit]
<inttypes.h>(C99) Format conversion of integer types[edit]
<iso646.h>(C95) Alternative operator spellings[edit]
<limits.h> Ranges of integer types[edit]
<locale.h> Localization utilities[edit]
<math.h> Common mathematics functions[edit]
<setjmp.h> Nonlocal jumps[edit]
<signal.h> Signal handling[edit]
<stdalign.h>(since C11)(deprecated in C23) alignas and alignof convenience macros[edit]
<stdarg.h> Variable arguments[edit]
<stdatomic.h>(C11) Atomic operations[edit]
<stdbit.h>(C23) Macros to work with the byte and bit representations of types[edit]
<stdbool.h>(since C99)(deprecated in C23) Macros for boolean type[edit]
<stdckdint.h>(C23) Macros for performing checked integer arithmetic[edit]
<stddef.h> Common macro definitions[edit]
<stdint.h>(C99) Fixed-width integer types[edit]
<stdio.h> Input/output[edit]
<stdlib.h> General utilities: memory management, program utilities, string conversions, random numbers, algorithms[edit]
<stdmchar.h>(since C29) Text transcode[edit]
<stdnoreturn.h>(since C11)(deprecated in C23) noreturn convenience macro[edit]
<string.h> String handling[edit]
<tgmath.h>(C99) Type-generic math (macros wrapping <math.h> and <complex.h>)[edit]
<threads.h>(C11) Thread library[edit]
<time.h> Time/date utilities[edit]
<uchar.h>(C11) UTF-16 and UTF-32 character utilities[edit]
<wchar.h>(C95) Extended multibyte and wide character utilities[edit]
<wctype.h>(C95) Functions to determine the type contained in wide character data[edit]

[edit] 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

[edit] References

[edit] See also