The C Book — Table of Contents
This is the online version of The CBook, second
 edition by Mike Banahan, Declan Brady and Mark Doran, originally
 published by Addison Wesley in 1991.  This version is made
 freely available.
While this book is no longer in print, its content is still very
 relevant today.  The C language is still popular, particularly for
 open
 source software and
 embedded programming.
 We hope this book will be useful, or at least interesting, to people who
 useC.
If you have any comments about this book, or if you find any bugs
 in its presentation, please send a message to
 consulting@gbdirect.co.uk.
Although we ourselves do not have the time and tools to prepare this book in PDF format, we are very grateful to Professor Carlos José de Almeida Pereira of the University Estadual de Santa Cruz in Brazil for his work which he modestly describes as 'simply printing your "printer friendly" pages to a PDF file'.
 The pdf file of the book that he has produced in this way was made available here on 6th March 2007 and currently should be the same as the contents of this site, no updates having been made since the single file was produced.
An alternative version in pdf was later submitted in July 2010 by Ward van Wanrooij - you can download his version here. We make no representations for the accuracy or otherwise of either pdf version.
- 
Preface 
- About This Book
 - The Success ofC
 - Standards
 - Hosted and Free-Standing Environments
 - Typographical conventions
 - Order of topics
 - Example programs
 - Deference to Higher Authority
 - Address for the Standard
 
 - 
Chapter1. An Introduction toC 
- 1.1. The form of a Cprogram
 - 1.2. Functions
 - 1.3. A description of Example1.1
 - 1.4. Some more programs
 - 1.5. Terminology
 - 1.6. Summary
 - 1.7. Exercises
 
 - 
Chapter2. Variables and Arithmetic 
- 2.1. Some fundamentals
 - 2.2. The alphabet ofC
 - 2.3. The Textual Structure of Programs
 - 2.4. Keywords and identifiers
 - 2.5. Declaration of variables
 - 2.6. Real types
 - 2.7. Integral types
 - 2.8. Expressions and arithmetic
 - 2.9. Constants
 - 2.10. Summary
 - 2.11. Exercises
 
 - 
Chapter3. Control of Flow and Logical Expressions 
- 3.1. The Task ahead
 - 3.2. Control of flow
 - 3.3. More logical expressions
 - 3.4. Strange operators
 - 3.5. Summary
 - 3.6. Exercises
 
 - 
Chapter4. Functions 
- 4.1. Changes
 - 4.2. The type of functions
 - 4.3. Recursion and argument passing
 - 4.4. Linkage
 - 4.5. Summary
 - 4.6. Exercises
 
 - 
Chapter5. Arrays and Pointers 
- 5.1. Opening shots
 - 5.2. Arrays
 - 5.3. Pointers
 - 5.4. Character handling
 - 5.5. 
Sizeofand storage allocation - 5.6. Pointers to functions
 - 5.7. Expressions involving pointers
 - 5.8. Arrays, the 
&operator and function
declarations - 5.9. Summary
 - 5.10. Exercises
 
 - 
Chapter6. Structured Data Types 
- 6.1. History
 - 6.2. Structures
 - 6.3. Unions
 - 6.4. Bitfields
 - 6.5. Enums
 - 6.6. Qualifiers and derived types
 - 6.7. Initialization
 - 6.8. Summary
 - 6.9. Exercises
 
 - 
Chapter7. The Preprocessor 
- 7.1. Effect of the Standard
 - 7.2. How the preprocessor works
 - 7.3. Directives
 - 7.4. Summary
 - 7.5. Exercises
 
 - 
Chapter8. Specialized Areas ofC 
- 8.1. Government Health Warning
 - 8.2. Declarations, Definitions and Accessibility
 - 8.3. 
Typedef - 8.4. 
Constandvolatile - 8.5. Sequence points
 - 8.6. Summary
 
 - 
Chapter9. Libraries 
- 9.1. Introduction
 - 9.2. Diagnostics
 - 9.3. Character handling
 - 9.4. Localization
 - 9.5. Limits
 - 9.6. Mathematical functions
 - 9.7. Non-local jumps
 - 9.8. Signal handling
 - 9.9. Variable numbers of arguments
 - 9.10. Input and output
 - 9.11. Formatted I/O
 - 9.12. Character I/O
 - 9.13. Unformatted I/O
 - 9.14. Random access functions
 - 9.15. General Utilities
 - 9.16. String handling
 - 9.17. Date and time
 - 9.18. Summary
 
 - 
Chapter10. Complete Programs in C 
- 10.1. Putting it all together
 - 10.2. Arguments to 
main - 10.3. Interpreting program arguments
 - 10.4. A pattern matching program
 - 10.5. A more ambitious example
 - 10.6. Afterword
 
 - 
Answers to Exercises 
- Chapter1
 - Chapter2
 - Chapter3
 - Chapter4
 - Chapter5
 - Chapter6
 - Chapter7
 
 - Copyright and disclaimer