<assert.h>
<complex.h>
<ctype.h>
<errno.h>
<fenv.h>
<float.h>
<inttypes.h>
<iso646.h>
<limits.h>
<locale.h>
<math.h>
<setjmp.h>
<signal.h>
<stdalign.h>
<stdarg.h>
<stdatomic.h>
<stdbool.h>
<stddef.h>
<stdint.h>
<stdio.h>
<stdlib.h>
<stdnoreturn.h>
<string.h>
<tgmath.h>
<threads.h>
<time.h>
<uchar.h>
<wchar.h>
<wctype.h>
Compare with earlier versions:
C11 defines 29 standard headers and specifies 1308 names. Among them, the macro
__STDC_
expands to
201112L
.
The headers <stdatomic.h>
and
<threads.h>
introduce a unified API for multithreaded C programs. Many
other headers have gained thread-safe or re-rentrant versions
of existing functions that do not depend on shared state.
[: Much
more to be said here.]
Headers defined in C11
Names specified in C11
#
##
#define
#elif
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#line
#pragma
#undef
__alignas_
is_ defined __alignof_
is_ defined __bool_
true_ false_ are_ defined __DATE__
__FILE__
__func__
__LINE__
__STDC__
__STDC_
ANALYZABLE__ __STDC_
HOSTED__ __STDC_
IEC_ 559__ __STDC_
IEC_ 559_ COMPLEX__ __STDC_
ISO_ 10646__ __STDC_
LIB_ EXT1__ __STDC_
MB_ MIGHT_ NEQ_ WC__ __STDC_
NO_ ATOMICS__ __STDC_
NO_ COMPLEX__ __STDC_
NO_ THREADS__ __STDC_
NO_ VLA__ __STDC_
UTF_ 16__ __STDC_
UTF_ 32__ __STDC_
VERSION__ __STDC_
WANT_ LIB_ EXT1__ __TIME__
__VA_
ARGS__ _Alignas
_Alignof
_Atomic
_Bool
_Complex
_Complex_I
_Exit
_Generic
_Imaginary
_Imaginary_I
_IOFBF
_IOLBF
_IONBF
_Noreturn
_Pragma
_Static_
assert _Thread_
local ATOMIC_
BOOL_ LOCK_ FREE ATOMIC_
CHAR16_ T_LOCK_ FREE ATOMIC_
CHAR32_ T_LOCK_ FREE ATOMIC_
CHAR_ LOCK_ FREE ATOMIC_
FLAG_ INIT ATOMIC_
INT_ LOCK_ FREE ATOMIC_
LLONG_ LOCK_ FREE ATOMIC_
LONG_ LOCK_ FREE ATOMIC_
POINTER_ LOCK_ FREE ATOMIC_
SHORT_ LOCK_ FREE ATOMIC_
VAR_ INIT ATOMIC_
WCHAR_ T_LOCK_ FREE abort
abort_
handler_s abs
acos
acos
acosf
acosh
acosh
acoshf
acoshl
acosl
alignas
aligned_
alloc alignof
and
and_eq
asctime
asctime_s
asin
asin
asinf
asinh
asinh
asinhf
asinhl
asinl
assert
at_
quick_ exit atan
atan
atan2
atan2
atan2f
atan2l
atanf
atanh
atanh
atanhf
atanhl
atanl
atexit
atof
atoi
atol
atoll
atomic
atomic_
bool atomic_
char atomic_
char16_t atomic_
char32_t atomic_
compare_ exchange_ strong atomic_
compare_ exchange_ strong_ explicit atomic_
compare_ exchange_ weak atomic_
compare_ exchange_ weak_ explicit atomic_
exchange atomic_
exchange_ explicit atomic_
fetch_ add atomic_
fetch_ add_ explicit atomic_
fetch_ and atomic_
fetch_ and_ explicit atomic_
fetch_or atomic_
fetch_ or_ explicit atomic_
fetch_ sub atomic_
fetch_ sub_ explicit atomic_
fetch_ xor atomic_
fetch_ xor_ explicit atomic_
flag atomic_
flag_ clear atomic_
flag_ clear_ explicit atomic_
flag_ test_ and_ set atomic_
flag_ test_ and_ set_ explicit atomic_
init atomic_
int atomic_
int_ fast16_t atomic_
int_ fast32_t atomic_
int_ fast64_t atomic_
int_ fast8_t atomic_
int_ least16_t atomic_
int_ least32_t atomic_
int_ least64_t atomic_
int_ least8_t atomic_
intmax_t atomic_
intptr_t atomic_
is_ lock_ free atomic_
llong atomic_
load atomic_
load_ explicit atomic_
long atomic_
ptrdiff_t atomic_
schar atomic_
short atomic_
signal_ fence atomic_
size_t atomic_
store atomic_
store_ explicit atomic_
thread_ fence atomic_
uchar atomic_
uint atomic_
uint_ fast16_t atomic_
uint_ fast32_t atomic_
uint_ fast64_t atomic_
uint_ fast8_t atomic_
uint_ least16_t atomic_
uint_ least32_t atomic_
uint_ least64_t atomic_
uint_ least8_t atomic_
uintmax_t atomic_
uintptr_t atomic_
ullong atomic_
ulong atomic_
ushort atomic_
wchar_t auto
BUFSIZ
bitand
bitor
bool
break
break
break
bsearch
bsearch_s
btowc
CHAR_
BIT CHAR_
MAX CHAR_
MIN CLOCKS_
PER_ SEC CMPLX
CMPLXF
CMPLXL
CX_
LIMITED_ RANGE c16rtomb
c32rtomb
cabs
cabsf
cabsl
cacos
cacosf
cacosh
cacoshf
cacoshl
cacosl
call_
once calloc
carg
carg
cargf
cargl
case
casin
casinf
casinh
casinhf
casinhl
casinl
catan
catanf
catanh
catanhf
catanhl
catanl
cbrt
cbrt
cbrtf
cbrtl
ccos
ccosf
ccosh
ccoshf
ccoshl
ccosl
ceil
ceil
ceilf
ceill
cexp
cexpf
cexpl
char
char
char16_t
char32_t
cimag
cimag
cimagf
cimagl
clearerr
clock
clock_t
clog
clogf
clogl
cnd_
broadcast cnd_
destroy cnd_
init cnd_
signal cnd_t
cnd_
timedwait cnd_
wait compl
complex
conj
conj
conjf
conjl
const
constraint_
handler_t continue
copysign
copysign
copysignf
copysignl
cos
cos
cosf
cosh
cosh
coshf
coshl
cosl
cpow
cpowf
cpowl
cproj
cproj
cprojf
cprojl
creal
creal
crealf
creall
csin
csinf
csinh
csinhf
csinhl
csinl
csqrt
csqrtf
csqrtl
ctan
ctanf
ctanh
ctanhf
ctanhl
ctanl
ctime
ctime_s
DBL_
DECIMAL_ DIG DBL_
DIG DBL_
EPSILON DBL_
HAS_ SUBNORM DBL_
MANT_ DIG DBL_
MAX DBL_
MAX_ 10_ EXP DBL_
MAX_ EXP DBL_
MIN DBL_
MIN_ 10_ EXP DBL_
MIN_ EXP DBL_
TRUE_ MIN DECIMAL_
DIG default
default
default
defined
difftime
div
div_t
do
double
double
double _Complex
double _Imaginary
double complex
double imaginary
double_t
EDOM
EILSEQ
EOF
ERANGE
EXIT_
FAILURE EXIT_
SUCCESS else
enum
erf
erf
erfc
erfc
erfcf
erfcl
erff
erfl
errno
errno_t
exit
exp
exp
exp2
exp2
exp2f
exp2l
expf
expl
expm1
expm1
expm1f
expm1l
extern
FE_
ALL_ EXCEPT FE_
DFL_ ENV FE_
DIVBYZERO FE_
DOWNWARD FE_
INEXACT FE_
INVALID FE_
OVERFLOW FE_
TONEAREST FE_
TOWARDZERO FE_
UNDERFLOW FE_
UPWARD FENV_
ACCESS FILE *
FILENAME_
MAX FLT_
DECIMAL_ DIG FLT_
DIG FLT_
EPSILON FLT_
EVAL_ METHOD FLT_
HAS_ SUBNORM FLT_
MANT_ DIG FLT_
MAX FLT_
MAX_ 10_ EXP FLT_
MAX_ EXP FLT_
MIN FLT_
MIN_ 10_ EXP FLT_
MIN_ EXP FLT_
RADIX FLT_
ROUNDS FLT_
TRUE_ MIN FOPEN_
MAX FP_
CONTRACT FP_
FAST_ FMA FP_
FAST_ FMAF FP_
FAST_ FMAL FP_
ILOGB0 FP_
ILOGBNAN FP_
INFINITE FP_
NAN FP_
NORMAL FP_
SUBNORMAL FP_
ZERO fabs
fabs
fabsf
fabsl
false
fclose
fdim
fdim
fdimf
fdiml
feclearexcept
fegetenv
fegetexceptflag
fegetround
feholdexcept
fenv_t
feof
feraiseexcept
ferror
fesetenv
fesetexceptflag
fesetround
fetestexcept
feupdateenv
fexcept_t
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
float
float
float _Complex
float _Imaginary
float complex
float imaginary
float_t
floor
floor
floorf
floorl
fma
fma
fmaf
fmal
fmax
fmax
fmaxf
fmaxl
fmin
fmin
fminf
fminl
fmod
fmod
fmodf
fmodl
fopen
fopen_s
for
fpclassify
fpos_t
fprintf
fprintf_s
fputc
fputs
fputwc
fputws
fread
free
freopen
freopen_s
frexp
frexp
frexpf
frexpl
fscanf
fscanf_s
fseek
fsetpos
ftell
fwide
fwprintf
fwprintf_s
fwrite
fwscanf
fwscanf_s
getc
getchar
getenv
getenv_s
gets_s
getwc
getwchar
gmtime
gmtime_s
goto
HUGE_
VAL HUGE_
VALF HUGE_
VALL hypot
hypot
hypotf
hypotl
I
INFINITY
INT16_C
INT16_
MAX INT16_
MIN INT32_C
INT32_
MAX INT32_
MIN INT64_C
INT64_
MAX INT64_
MIN INT8_C
INT8_
MAX INT8_
MIN INT_
FAST16_ MAX INT_
FAST16_ MIN INT_
FAST32_ MAX INT_
FAST32_ MIN INT_
FAST64_ MAX INT_
FAST64_ MIN INT_
FAST8_ MAX INT_
FAST8_ MIN INT_
LEAST16_ MAX INT_
LEAST16_ MIN INT_
LEAST32_ MAX INT_
LEAST32_ MIN INT_
LEAST64_ MAX INT_
LEAST64_ MIN INT_
LEAST8_ MAX INT_
LEAST8_ MIN INT_
MAX INT_
MIN INTMAX_C
INTMAX_
MAX INTMAX_
MIN INTPTR_
MAX INTPTR_
MIN if
ignore_
handler_s ilogb
ilogb
ilogbf
ilogbl
imaginary
imaxabs
imaxdiv
imaxdiv_t
inline
int
int
int16_t
int32_t
int64_t
int8_t
int_
fast16_t int_
fast32_t int_
fast64_t int_
fast8_t int_
least16_t int_
least32_t int_
least64_t int_
least8_t intmax_t
intptr_t
isalnum
isalpha
isblank
iscntrl
isdigit
isfinite
isgraph
isgreater
isgreaterequal
isinf
isless
islessequal
islessgreater
islower
isnan
isnormal
isprint
ispunct
isspace
isunordered
isupper
iswalnum
iswalpha
iswblank
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
jmp_
buf kill_
dependency L_
tmpnam L_
tmpnam_s LC_
ALL LC_
COLLATE LC_
CTYPE LC_
MONETARY LC_
NUMERIC LC_
TIME LDBL_
DECIMAL_ DIG LDBL_
DIG LDBL_
EPSILON LDBL_
HAS_ SUBNORM LDBL_
MANT_ DIG LDBL_
MAX LDBL_
MAX_ 10_ EXP LDBL_
MAX_ EXP LDBL_
MIN LDBL_
MIN_ 10_ EXP LDBL_
MIN_ EXP LDBL_
TRUE_ MIN LLONG_
MAX LLONG_
MIN LONG_
MAX LONG_
MIN labs
ldexp
ldexp
ldexpf
ldexpl
ldiv
ldiv_t
lgamma
lgamma
lgammaf
lgammal
llabs
lldiv
lldiv_t
llrint
llrint
llrintf
llrintl
llround
llround
llroundf
llroundl
localeconv
localtime
localtime_s
log
log
log10
log10
log10f
log10l
log1p
log1p
log1pf
log1pl
log2
log2
log2f
log2l
logb
logb
logbf
logbl
logf
logl
long
long
long double
long double _Complex
long double _Imaginary
long double complex
long double imaginary
long long
longjmp
lrint
lrint
lrintf
lrintl
lround
lround
lroundf
lroundl
MATH_
ERREXCEPT MATH_
ERRNO MB_
CUR_ MAX MB_
LEN_ MAX main
malloc
math_
errhandling max_
align_t mblen
mbrlen
mbrtoc16
mbrtoc32
mbrtowc
mbsinit
mbsrtowcs
mbsrtowcs_s
mbstate_t
mbstowcs
mbstowcs_s
mbtowc
memchr
memcmp
memcpy
memcpy_s
memmove
memmove_s
memory_
order memory_
order_ acq_ rel memory_
order_ acquire memory_
order_ consume memory_
order_ relaxed memory_
order_ release memory_
order_ seq_ cst memset
mktime
modf
modf
modff
modfl
mtx_
destroy mtx_
init mtx_
lock mtx_
plain mtx_
recursive mtx_t
mtx_
timed mtx_
timedlock mtx_
trylock mtx_
unlock NAN
NDEBUG
NULL
nan
nanf
nanl
nearbyint
nearbyint
nearbyintf
nearbyintl
nextafter
nextafter
nextafterf
nextafterl
nexttoward
nexttoward
nexttowardf
nexttowardl
noreturn
not
not_eq
ONCE_
FLAG_ INIT offsetof
once_
flag or
or_eq
PRId16
PRId32
PRId64
PRId8
PRIdFAST16
PRIdFAST32
PRIdFAST64
PRIdFAST8
PRIdLEAST16
PRIdLEAST32
PRIdLEAST64
PRIdLEAST8
PRIdMAX
PRIdPTR
PRIi16
PRIi32
PRIi64
PRIi8
PRIiFAST16
PRIiFAST32
PRIiFAST64
PRIiFAST8
PRIiLEAST16
PRIiLEAST32
PRIiLEAST64
PRIiLEAST8
PRIiMAX
PRIiPTR
PRIo16
PRIo32
PRIo64
PRIo8
PRIoFAST16
PRIoFAST32
PRIoFAST64
PRIoFAST8
PRIoLEAST16
PRIoLEAST32
PRIoLEAST64
PRIoLEAST8
PRIoMAX
PRIoPTR
PRIu16
PRIu32
PRIu64
PRIu8
PRIuFAST16
PRIuFAST32
PRIuFAST64
PRIuFAST8
PRIuLEAST16
PRIuLEAST32
PRIuLEAST64
PRIuLEAST8
PRIuMAX
PRIuPTR
PRIX16
PRIX32
PRIX64
PRIX8
PRIXFAST16
PRIXFAST32
PRIXFAST64
PRIXFAST8
PRIXLEAST16
PRIXLEAST32
PRIXLEAST64
PRIXLEAST8
PRIXMAX
PRIXPTR
PRIx16
PRIx32
PRIx64
PRIx8
PRIxFAST16
PRIxFAST32
PRIxFAST64
PRIxFAST8
PRIxLEAST16
PRIxLEAST32
PRIxLEAST64
PRIxLEAST8
PRIxMAX
PRIxPTR
PTRDIFF_
MAX PTRDIFF_
MIN perror
pow
pow
powf
powl
printf
printf_s
ptrdiff_t
putc
putchar
puts
putwc
putwchar
qsort
qsort_s
quick_
exit RAND_
MAX RSIZE_
MAX raise
rand
realloc
register
remainder
remainder
remainderf
remainderl
remove
remquo
remquo
remquof
remquol
rename
restrict
return
rewind
rint
rint
rintf
rintl
round
round
roundf
roundl
rsize_t
SCHAR_
MAX SCHAR_
MIN SCNd16
SCNd32
SCNd64
SCNd8
SCNdFAST16
SCNdFAST32
SCNdFAST64
SCNdFAST8
SCNdLEAST16
SCNdLEAST32
SCNdLEAST64
SCNdLEAST8
SCNdMAX
SCNdPTR
SCNi16
SCNi32
SCNi64
SCNi8
SCNiFAST16
SCNiFAST32
SCNiFAST64
SCNiFAST8
SCNiLEAST16
SCNiLEAST32
SCNiLEAST64
SCNiLEAST8
SCNiMAX
SCNiPTR
SCNo16
SCNo32
SCNo64
SCNo8
SCNoFAST16
SCNoFAST32
SCNoFAST64
SCNoFAST8
SCNoLEAST16
SCNoLEAST32
SCNoLEAST64
SCNoLEAST8
SCNoMAX
SCNoPTR
SCNu16
SCNu32
SCNu64
SCNu8
SCNuFAST16
SCNuFAST32
SCNuFAST64
SCNuFAST8
SCNuLEAST16
SCNuLEAST32
SCNuLEAST64
SCNuLEAST8
SCNuMAX
SCNuPTR
SCNx16
SCNx32
SCNx64
SCNx8
SCNxFAST16
SCNxFAST32
SCNxFAST64
SCNxFAST8
SCNxLEAST16
SCNxLEAST32
SCNxLEAST64
SCNxLEAST8
SCNxMAX
SCNxPTR
SEEK_
CUR SEEK_
END SEEK_
SET SHRT_
MAX SHRT_
MIN SIG_
ATOMIC_ MAX SIG_
ATOMIC_ MIN SIG_
DFL SIG_
ERR SIG_
IGN SIGABRT
SIGFPE
SIGILL
SIGINT
SIGSEGV
SIGTERM
SIZE_
MAX scalbln
scalbln
scalblnf
scalblnl
scalbn
scalbn
scalbnf
scalbnl
scanf
scanf_s
set_
constraint_ handler_s setbuf
setjmp
setlocale
setvbuf
short
short
sig_
atomic_t signal
signbit
signed
signed char
sin
sin
sinf
sinh
sinh
sinhf
sinhl
sinl
size_t
sizeof
snprintf
snprintf_s
snwprintf_s
sprintf
sprintf_s
sqrt
sqrt
sqrtf
sqrtl
srand
sscanf
sscanf_s
static
static
static
static
static
static_
assert stderr
stdin
stdout
strcat
strcat_s
strchr
strcmp
strcoll
strcpy
strcpy_s
strcspn
strerror
strerror_s
strerrorlen_s
strftime
strlen
strncat
strncat_s
strncmp
strncpy
strncpy_s
strnlen_s
strpbrk
strrchr
strspn
strstr
strtod
strtof
strtoimax
strtok
strtok_s
strtol
strtold
strtoll
strtoul
strtoull
strtoumax
struct
struct lconv
struct timespec
struct tm
strxfrm
switch
swprintf
swprintf_s
swscanf
swscanf_s
system
TIME_
UTC TMP_
MAX TMP_
MAX_S TSS_
DTOR_ ITERATIONS tan
tan
tanf
tanh
tanh
tanhf
tanhl
tanl
tgamma
tgamma
tgammaf
tgammal
thrd_
busy thrd_
create thrd_
current thrd_
detach thrd_
equal thrd_
error thrd_
exit thrd_
join thrd_
nomem thrd_
sleep thrd_
start_t thrd_
success thrd_t
thrd_
timedout thrd_
yield thread_
local time
time_t
timespec_
get tmpfile
tmpfile_s
tmpnam
tmpnam_s
tolower
toupper
towctrans
towlower
towupper
true
trunc
trunc
truncf
truncl
tss_
create tss_
delete tss_
dtor_t tss_
get tss_
set tss_t
typedef
UCHAR_
MAX UINT16_C
UINT16_
MAX UINT32_C
UINT32_
MAX UINT64_C
UINT64_
MAX UINT8_C
UINT8_
MAX UINT_
FAST16_ MAX UINT_
FAST32_ MAX UINT_
FAST64_ MAX UINT_
FAST8_ MAX UINT_
LEAST16_ MAX UINT_
LEAST32_ MAX UINT_
LEAST64_ MAX UINT_
LEAST8_ MAX UINT_
MAX UINTMAX_C
UINTMAX_
MAX UINTPTR_
MAX ULLONG_
MAX ULONG_
MAX USHRT_
MAX uint16_t
uint32_t
uint64_t
uint8_t
uint_
fast16_t uint_
fast32_t uint_
fast64_t uint_
fast8_t uint_
least16_t uint_
least32_t uint_
least64_t uint_
least8_t uintmax_t
uintptr_t
ungetc
ungetwc
union
unsigned
unsigned
unsigned char
unsigned long
unsigned long long
unsigned short
va_
arg va_
copy va_
end va_
list va_
start vfprintf
vfprintf_s
vfscanf
vfscanf_s
vfwprintf
vfwprintf_s
vfwscanf
vfwscanf_s
void
void
void
void
void *
volatile
vprintf
vprintf_s
vscanf
vscanf_s
vsnprintf
vsnprintf_s
vsnwprintf_s
vsprintf
vsprintf_s
vsscanf
vsscanf_s
vswprintf
vswprintf_s
vswscanf
vswscanf_s
vwprintf
vwprintf_s
vwscanf
vwscanf_s
WCHAR_
MAX WCHAR_
MIN WEOF
WINT_
MAX WINT_
MIN wchar_t
wcrtomb
wcrtomb_s
wcscat
wcscat_s
wcschr
wcscmp
wcscoll
wcscpy
wcscpy_s
wcscspn
wcsftime
wcslen
wcsncat
wcsncat_s
wcsncmp
wcsncpy
wcsncpy_s
wcsnlen_s
wcspbrk
wcsrchr
wcsrtombs
wcsrtombs_s
wcsspn
wcsstr
wcstod
wcstof
wcstoimax
wcstok
wcstok_s
wcstol
wcstold
wcstoll
wcstombs
wcstombs_s
wcstoul
wcstoull
wcstoumax
wcsxfrm
wctob
wctomb
wctomb_s
wctrans
wctrans_t
wctype
wctype_t
while
wint_t
wmemchr
wmemcmp
wmemcpy
wmemcpy_s
wmemmove
wmemmove_s
wmemset
wprintf
wprintf_s
wscanf
wscanf_s
xor
xor_eq