Chapter 13 presents C's facilities for formalizing procedural and data abstraction in personal libraries defined by separate header and implementation files. The use of visible function interfaces is emphasized throughout the text. We do not mention the possibility of using a global variable until Chapter 13, and then we carefully describe both the dangers and the value of global variable usage. We employ several pedagogical features to enhance the usefulness of this book as a teaching tool. Some of these features are discussed below.
Most sections end with a number of self-check exercises.
These include exercises that require analysis of program fragments as well as short programming exercises. There are also review exercises whose solutions appear in the instructor's manual. Each chapter ends with a set of programming projects. Answers to selected projects appear in the instructor's manual. The book contains a wide variety of programming examples.