How are the C standard libraries programmed

Overview of the C standard library

(after Kernighan / Ritchie: Programming in C, 2nd edition, Appendix B)

Axel Stutz, Peter Klingebiel, Fulda University of Applied Sciences, DVZ

This overview can be downloaded in ZIP format (c-stdlib.zip, 71 KB), TAR format (c-stdlib.tar, 392 KB) and TGZ format (c-stdlib.tgz, 52 KB) .



This appendix is ​​a brief description of the library defined in the ANSI standard. The standard library is not part of the C programming language itself, but an environment that implements standard C will also make functions, types and macros of this library available. We have left out a few functions that are of limited use or can easily be built from others; we have omitted multi-byte characters and we do not discuss national considerations, that is, characteristics that depend on the local language, nationality, or culture.
The functions, types and macros of the standard library are declared in standard definition files:

to a definition file header is used with #include <header> accessed. Definition files can be entered in any order and as often as required #include inserted. A definition file must be inserted outside of any external agreements, before anything is used that is agreed in the definition file. A definition file does not have to be a source file.
External names that begin with an underscore "_" and all other names that begin with an underscore and an uppercase letter or another underscore are reserved for the standard library.
  1. Input and output <stdio.h>
  2. Tests for character classes <ctype.h>
  3. Functions for strings <string.h>
  4. Math functions <math.h>
  5. Auxiliary functions <stdlib.h>
  6. Troubleshooting <assert.h>
  7. Variable argument lists <stdarg.h>
  8. Global leaps <setjmp.h>
  9. Signals <signal.h>
  10. Date and time functions <time.h>
  11. Limits of an implementation <limits.h> and <float.h>
  12. Function register of the standard library
  13. Header register of the standard library