C Standards & History

Algol60 (International Commity) - 1960

AlgolW (N. Wirth, T. Hoar) - 1968

B (Ken Thompson) - ????

C (Dennis Ritchie) - 1972

K&R C - 1978

Options for GCC to define standard

__STDC_VERSION__ used in program code

-std=c90, c99, c11, c17, c2x

K&R preliminary C standard

was published in 1978:
Kernighan, Richie "The C Programming Language. First Edition"

c89 Standard:

c89 standard description
c89 new features:

- Function prototypes

- Constant & volatile qualifiers

- Wide character support and internationalization

- Permit function pointer to be used without dereferencing

c99 Standard:

c99 standard description
c99 new features:

- inline functions

- new data types: long long, boolean, complex

- variable length arrays

- one line comments // (as in C++ and Java)

c11 Standard:

c11 standard description
c11 new features:

- alignment specification

- _Noreturn function specifier

- multi_threading support (threads.h)

- improved unicode support (char16_t and char32_t) in (uchar.h)

- removal of gets function

- bounds checking

- anonymous structures and unions

- quick_exit() function

c18 Standard:

c18 standard description
c18 new features:

c2x Standard

c2x requirements
c2x new features: