Namespaces
Variants
Views
Actions

C Standard Library headers

From cppreference.com
< c

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

[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

  • C23 standard (ISO/IEC 9899:2024):
  • 7.1.2 Standard headers
  • 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

[edit] See also

C++ documentation for Standard Library headers