# C Programming/Standard library reference
## Headers
### ANSI C (C89)/ISO C (C90)

| assert.h | Verify program assertion file |
| ctype.h | Character types file. |
| errno.h | System error numbers file |
| float.h | Floating types file |
| limits.h | Implementation-defined constants file. |
| locale.h | Category macros file. |
| math.h | Mathematical declarations file. |
| setjmp.h | Stack environment declarations file. |
| signal.h | Signals file. |
| stdarg.h | Handle variable argument list file. |
| stddef.h | Standard type definitions file. |
| stdio.h | Standard buffered input/output file. |
| stdlib.h | Standard library definitions file. |
| string.h | String operations file. |
| time.h | Time types file. |

### ISO C (C94/C95), Amendment 1 (AMD1)

Very old compilers may not include some or all of these headers
| iso646.h | Alternative spellings. |
| wchar.h | Wide-character handling. |
| wctype.h | Wide-character classification and mapping utilities. |

### ISO C (C99)

These are supported only in newer compilers
| complex.h | Complex arithmetic. |
| fenv.h | Floating-point environment. |
| inttypes.h | Fixed size integer types. |
| stdbool.h | Boolean type and values. |
| stdint.h | Integer types. |
| tgmath.h | Type-generic macros. |

### ISO C (C11)

These are supported only in newer compilers
| stdalign.h | Alignment keywords and macros. |
| stdatomic.h | Atomic operations on data shared between threads. |
| stdnoreturn.h | _Noreturn function specifier macro. |
| threads.h | Support for multiple threads of execution. |
| uchar.h | Types and functions for manipulating Unicode characters. |

## Table of functions

This table also includes function-like macros

### assert.h

* assert

### complex.h

| cacos cacosf cacosl casin casinf casinl catan catanf | catanl ccos ccosf ccosl csin csinf csinl ctan | ctanf ctanl cacosh cacoshf cacoshl casinh casinhf casinhl | catanh catanhf catanhl ccosh ccoshf ccoshl csinh csinhf | csinhl ctanh ctanhf ctanhl cexp cexpf cexpl clog | clogf clogl cabs cabsf cabsl cpow cpowf cpowl | csqrt csqrtf csqrtl carg cargf cargl cimag cimagf | cimagl conj conjf conjl cproj cprojf cprojl creal | crealf creall |

### ctype.h

| isalnum isalpha isblank iscntrl | isdigit isgraph islower isprint | ispunct isspace isupper isxdigit | tolower toupper |

### fenv.h

| feclearexcept fegetenv fegetexceptflag fegetround | feholdexcept feraiseexcept fesetenv fesetexceptflag | fesetround fetestexcept feupdateenv |

### inttypes.h

| imaxabs imaxdiv strtoimax strtoumax | wcstoimax wcstoumax |

### locale.h

* localeconv
* setlocale

### math.h

| fpclassify isfinite isgreater isgreaterequal | isinf isless islessequal islessgreater | isnan isnormal isunordered signbit |

### setjmp.h

* longjmp
* setjmp

### signal.h

* raise

### stdarg.h

* va_arg
* va_copy
* va_end
* va_start

### stdatomic.h

| atomic_init atomic_thread_fence atomic_signal_fence atomic_is_lock_free atomic_store atomic_store_explicit atomic_load atomic_load_explicit | atomic_exchange atomic_exchange_explicit atomic_compare_exchange_strong atomic_compare_exchange_strong_explicit atomic_compare_exchange_weak atomic_compare_exchange_weak_explicit atomic_fetch atomic_fetch_key_explicit | atomic_flag_test_and_set atomic_flag_test_and_set_explicit atomic_flag_clear atomic_flag_clear_explicit |

### stddef.h

* offsetof

### stdio.h

| clearerr fclose feof fgetc fgetpos fgets fopen fprintf fputs | fread fscanf fseek fsetpos ftell fwprintf fwrite getc getchar | gets perror printf putc putchar puts remove rename rewind | scanf setbuf setvbuf sprintf tmpfile ungetc vwprintf wprintf wscanf |

### stdlib.h

| abort abs labs atexit | atof atoi atol bsearch | div ldiv exit free | getenv malloc calloc realloc | qsort rand srand strtod | strtol strtoul system |

### string.h

| memchr memcmp memcpy memmove | memset strcat strncat strchr | strcmp strncmp strcoll strcpy | strncpy strcspn strerror strlen | strpbrk strrchr strspn strstr | strtok strxfrm |

### threads.h

| call_once cnd_broadcast cnd_destroy cnd_init cnd_signal cnd_timedwait cnd_wait mtx_destroy | mtx_init mtx_lock mtx_timedlock mtx_trylock mtx_unlock thrd_create thrd_current thrd_detach | thrd_equal thrd_exit thrd_join thrd_sleep thrd_yield tss_create tss_delete tss_get | tss_set |

### time.h

| asctime clock ctime difftime | gmtime localtime mktime strftime | time |

### uchar.h

* mbrtoc16
* c16rtomb
* mbrtoc32
* c32rtomb

### wchar.h

| btowc fgetwc fgetws fputwc fwide fwprintf fwscanf getwc | getwchar mbrlen mbrtowc mbsinit mbsrtowcs putwc putwchar swprintf | swscanf ungetwc vfwprintf vswprintf vwprintf wcrtomb wcscat wcschr | wcscmp wcscoll wcscpy wcscspn wcsftime wcslen wcsncat wcsncmp | wcsncpy wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wcstod wcstok | wcstol wcstoul wcsxfrm wctob wmemchr wmemcmp wmemcpy wmemmove | wmemset wprintf wscanf |

### wctype.h

| iswalnum iswalpha iswcntrl iswctype | iswdigit iswgraph iswlower iswprint | iswpunct iswspace iswupper iswxdigit | towctrans towlower towupper wctrans | wctype |