C Standard Library headers - cppreference.com

From cppreference.com

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

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__202311L2

<complex.h>

__STDC_VERSION_COMPLEX_H__202311L3

<ctype.h>

N/A4

<errno.h>

N/A5

<fenv.h>

__STDC_VERSION_FENV_H__202311L6

<float.h>

__STDC_VERSION_FLOAT_H__202311L7

<inttypes.h>

__STDC_VERSION_INTTYPES_H__202311L8

<iso646.h>

N/A9

<limits.h>

__STDC_VERSION_LIMITS_H__202311L10

<locale.h>

N/A11

<math.h>

__STDC_VERSION_MATH_H__202311L12

<setjmp.h>

__STDC_VERSION_SETJMP_H__202311L13

<signal.h>

N/A14

<stdalign.h>

N/A15

<stdarg.h>

__STDC_VERSION_STDARG_H__202311L16

<stdatomic.h>

__STDC_VERSION_STDATOMIC_H__202311L17

<stdbit.h>

__STDC_VERSION_STDBIT_H__202311L18

<stdbool.h>

N/A19

<stdckdint.h>

__STDC_VERSION_STDCKDINT_H__202311L20

<stddef.h>

__STDC_VERSION_STDDEF_H__202311L21

<stdint.h>

__STDC_VERSION_STDINT_H__202311L22

<stdio.h>

__STDC_VERSION_STDIO_H__202311L23

<stdlib.h>

__STDC_VERSION_STDLIB_H__202311L24

<stdmchar.h>

__STDC_VERSION_STDMCHAR_H__2029??L25

<stdnoreturn.h>

N/A26

<string.h>

__STDC_VERSION_STRING_H__202311L27

<tgmath.h>

__STDC_VERSION_TGMATH_H__202311L28

<threads.h>

N/A29

<time.h>

__STDC_VERSION_TIME_H__202311L30

<uchar.h>

__STDC_VERSION_UCHAR_H__202311L31

<wchar.h>

__STDC_VERSION_WCHAR_H__202311L32

<wctype.h>

N/AReferences

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

See also