Terms and Conditions:
Mike Banahan wrote:Permission is hereby granted for anyone to do anything that they want with this material -- you may freely reprint it, redistribute it, amend it or do whatever you like with it.
Book Excerpts:
This is the online version of
The C Book, second edition by Mike Banahan, Declan Brady and Mark Doran, originally published by Addison Wesley in 1991. This version is made
freely available.
The second edition has been revised to refer to the final, approved version of the
C Standard. The first edition of the book was based on a draft of the Standard which did contain some differences from the draft that was eventually approved. During the revision the authors have taken the opportunity to include more summary material and an extra chapter illustrating the use of C and the Standard Library to solve a number of small problems.
Those who already know C will be interested in the new Standard and how it affects existing C programs. The effect on existing programs might not at first seem to be important to newcomers, but in fact the 'old' and new versions of the language are an issue for the beginner too. For some years after the approval of the Standard, programmers will have to live in a world where they can easily encounter a mixture of both the new and the old language, depending on the age of the programs that they are working with. For that reason,
the book highlights where the old and new features differ significantly. Some of the old features are no ornament to the language and are well worth avoiding; the Standard goes so far as to consider them obsolescent and recommends that they should not be used. For that reason they are not described in detail, but only far enough to allow a reader to understand what they mean. Anybody who intends to write programs using these old-style features should be reading a different book.
While this book is no longer in print, it's content is still very relevant today. The C language is still popular, particularly for open source software and embedded programming.