Here’s a list of the main built-in standard headers in C (from C89/C90 and C99 standards):
| Header | What it Provides |
|---|---|
<stdio.h> |
Input/output (e.g., printf, scanf, fopen, fgets) |
<stdlib.h> |
General utilities (e.g., malloc, free, exit, atoi) |
<string.h> |
String manipulation (e.g., strlen, strcpy, strcmp) |
<math.h> |
Math functions (e.g., sin, cos, pow, sqrt) |
<ctype.h> |
Character tests (e.g., isalpha, isdigit, toupper) |
<time.h> |
Time/date functions (e.g., time, clock, strftime) |
<limits.h> |
Size limits of types (e.g., INT_MAX, CHAR_MIN) |
<float.h> |
Floating point limits (e.g., FLT_MAX, DBL_EPSILON) |
<errno.h> |
Error codes (e.g., errno, EDOM, ERANGE) |
<assert.h> |
Assertions (assert(expr)) for debugging |
<signal.h> |
Signal handling (signal, raise, SIGINT) |
<setjmp.h> |
Non-local jumps (setjmp, longjmp) |
<stdarg.h> |
Variable argument lists (va_start, va_arg, va_end) |
<stddef.h> |
Common macros/types like NULL, size_t, offsetof
|
C99
| Header | What it Adds |
|---|---|
<stdbool.h> |
Boolean type (bool, true, false) |
<stdint.h> |
Fixed-width integer types (e.g., int32_t, uint8_t) |
<inttypes.h> |
Format macros for <stdint.h> types |
<tgmath.h> |
Type-generic math functions (like sqrt, but generic) |
<complex.h> |
Complex number math |
<fenv.h> |
Floating-point environment control |
<wchar.h> |
Wide character handling (wchar_t) |
<wctype.h> |
Wide character classification |
Main versions of C:
| Version | Year | Key Features |
|---|---|---|
| C89/C90 | 1989/1990 | Base language — very portable and stable |
| C99 | 1999 | New types (bool, int32_t), inline functions, better for math |
| C11 | 2011 | Multithreading support, _Generic, safer functions |
| C17 | 2017 | Mostly bugfixes and clarifications |
| C23 | 2023 | Modern updates: nullptr, new attributes, etc. |
Here's the references:
https://www.w3schools.com/c/c_ref_reference.php
Top comments (0)