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)