c/utility

C includes a variety of utility libraries. These libraries can be broadly divided into two groups:


 * language support libraries, and
 * general-purpose libraries.

Language support
Language support libraries provide functions that interact closely with language features and support common language idioms.

Type support
Basic types (e.g. size_t, null)

Dynamic memory management
(e.g. malloc)

Error handling
Assertions (e.g. assert)

Variadic functions
Support for functions that take an arbitrary number of parameters (via e.g. va_start, va_arg, va_end)

Program utilities
Termination (e.g. abort, atexit), environment (e.g. system), signals (e.g. raise)

Date and time
Time tracking (e.g. time, clock)