Previous Page
Next Page

How This Book Is Organized

This book is divided into three parts. The first part describes the C language in the strict sense of the term; the second part describes the standard library; and the third part describes the process of compiling and testing programs with the popular tools in the GNU software collection.

Part I

Part I, which deals with the C language, includes Chapters 1 through 14. After Chapter 1, which describes the general concepts and elements of the language, each chapter is devoted to a specific topic, such as types, statements, or pointers. Although the topics are ordered so that the fundamental concepts for each new topic have been presented in an earlier chaptertypes, for example, are described before expressions and operators, which come before statements, and so onyou may sometimes need to follow references to later chapters to fill in related details. For example, some discussion of pointers and arrays is necessary in Chapter 5 (which covers expressions and operators), even though pointers and arrays are not described in full detail until Chapters 8 and 9.

Chapter 1, Language Basics

Describes the characteristics of the language and how C programs are structured and compiled. This chapter introduces basic concepts such as the translation unit, character sets, and identifiers.

Chapter 2, Types

Provides an overview of types in C and describes the basic types, the type void, and enumerated types.

Chapter 3, Literals

Describes numeric constants, character constants, and string literals, including escape sequences.

Chapter 4, Type Conversions

Describes implicit and explicit type conversions, including integer promotion and the usual arithmetic conversions.

Chapter 5, Expressions and Operators

Describes the evaluation of expressions, all the operators, and their compatible operands.

Chapter 6, Statements

Describes C statements such as blocks, loops, and jumps.

Chapter 7, Functions

Describes function definitions and function calls, including recursive and inline functions.

Chapter 8, Arrays

Describes fixed-length and variable-length arrays, including strings, array initialization, and multidimensional arrays.

Chapter 9, Pointers

Describes the definition and use of pointers to objects and functions.

Chapter 10, Structures, Unions, and Bit-Fields

Describes the organization of data in these user-defined derived types.

Chapter 11, Declarations

Describes the general syntax of a declaration, identifier linkage, and the storage duration of objects.

Chapter 12, Dynamic Memory Management

Describes the standard library's dynamic memory management functions, illustrating their use in a sample implementation of a generalized binary tree.

Chapter 13, Input and Output

Describes the C concept of input and output, with an overview of the use of the standard I/O library.

Chapter 14, Preprocessing Directives

Describes the definition and use of macros, conditional compiling, and all the other preprocessor directives and operators.

Part II

Part II, consisting of Chapters 15, 16, and 17, is devoted to the C standard library. It provides an overview of standard headers and also contains a detailed function reference.

Chapter 15, The Standard Headers

Describes contents of the headers and their use. The headers contain all of the standard library's macros and type definitions.

Chapter 16, Functions at a Glance

Provides an overview of the standard library functions, organized by areas of application, such as "Mathematical Functions," "Time and Date Functions," and so on.

Chapter 17, Standard Library Functions

Describes each standard library function in detail, in alphabetical order, and contains examples to illustrate the use of each function.

Part III

The third part of this book provides the necessary knowledge of the C programmer's basic tools: the compiler, the make utility, and the debugger. The tools described here are those in the GNU software collection.

Chapter 18, Compiling with GCC

Describes the principal capabilities that the widely used compiler offers for C programmers.

Chapter 19, Using make to Build C Programs

Describes how to use the make program to automate the compiling process for large programs.

Chapter 20, Debugging C Programs with GDB

Describes how to run a program under the control of the GNU debugger and how to analyze programs' runtime behavior to find logical errors.

Previous Page
Next Page