C was created by Dennis Richie and Kenneth Thompson at Bell Labs during the early 1970's as the system programming language for the UNIX operating system. Like Lisp and Scheme, C went through a standardization process during the 1980's leading to the ANSI/ISO standard in 1989 known as ANSI-C. It contains major improvements over the original language, in particular function prototypes (adopted from C++). A new version of the standard known as C99 has been published, guess, 1999. It includes, for example, wide character support. The following description uses ANSI-C as of 1989.
This short review of the C languages focuses on the features we will need when discussing the other programming languages in the following chapters. Readers who are familiar with the C language may quickly browse this chapter or skip it entirely.
The examples in this chapter use the GNU C compiler which is available on almost any operating system. To enforce ANSI compliance we set the -ansi switch.
The one and only book one really needs about C is the language description [KERNIGHAN88]>, the second edition describing the ANSI standard ANSI-C. Peter van der Linden's book explains the more subtle features of the language and provides hundreds of tips and tricks to avoid the most common pitfalls.