1. Standards

The C Programming Language was originally defined in the book by Brian Kernighan and Dennis Ritchie in 1978 (K&R C).

The book was revised in 1988 to reflect the first standards, ANSI X3.159-1989 and ISO/IEC 9899:1990, which are identical except for section numbering (ANSI C, C89, or C90).

The major change to C introduced in the C90 standard was the addition of function prototypes.

C99 included many major changes to the original C89/90 standard.

C11 added atomic objects, threads, and unicode to the language.

C17 addresses defects in C11 without introducing new language features.