Books & Videos

Table of Contents

  1. Language

    1. Chapter 1 Language Basics

      1. Characteristics of C
      2. The Structure of C Programs
      3. Source Files
      4. Comments
      5. Character Sets
      6. Identifiers
      7. How the C Compiler Works
    2. Chapter 2 Types

      1. Typology
      2. Integer Types
      3. Floating-Point Types
      4. Complex Floating-Point Types (C99)
      5. Enumerated Types
      6. The Type void
    3. Chapter 3 Literals

      1. Integer Constants
      2. Floating-Point Constants
      3. Character Constants
      4. String Literals
    4. Chapter 4 Type Conversions

      1. Conversion of Arithmetic Types
      2. Conversion of Nonarithmetic Types
    5. Chapter 5 Expressions and Operators

      1. How Expressions Are Evaluated
      2. Operators in Detail
      3. Constant Expressions
    6. Chapter 6 Statements

      1. Expression Statements
      2. Block Statements
      3. Loops
      4. Selection Statements
      5. Unconditional Jumps
    7. Chapter 7 Functions

      1. Function Definitions
      2. Function Declarations
      3. How Functions Are Executed
      4. Pointers as Arguments and Return Values
      5. Inline Functions
      6. Recursive Functions
      7. Variable Numbers of Arguments
    8. Chapter 8 Arrays

      1. Defining Arrays
      2. Accessing Array Elements
      3. Initializing Arrays
      4. Strings
      5. Multidimensional Arrays
      6. Arrays as Arguments of Functions
    9. Chapter 9 Pointers

      1. Declaring Pointers
      2. Operations with Pointers
      3. Pointers and Type Qualifiers
      4. Pointers to Arrays and Arrays of Pointers
      5. Pointers to Functions
    10. Chapter 10 Structures and Unions and Bit-Fields

      1. Structures
      2. Unions
      3. Bit-Fields
    11. Chapter 11 Declarations

      1. General Syntax
      2. Type Names
      3. typedef Declarations
      4. Linkage of Identifiers
      5. Storage Duration of Objects
      6. Initialization
    12. Chapter 12 Dynamic Memory Management

      1. Allocating Memory Dynamically
      2. Characteristics of Allocated Memory
      3. Resizing and Releasing Memory
      4. An All-Purpose Binary Tree
      5. Characteristics
      6. Implementation
    13. Chapter 13 Input and Output

      1. Streams
      2. Files
      3. Opening and Closing Files
      4. Reading and Writing
      5. Random File Access
    14. Chapter 14 Preprocessing Directives

      1. Inserting the Contents of Header Files
      2. Defining and Using Macros
      3. Conditional Compiling
      4. Defining Line Numbers
      5. Generating Error Messages
      6. The #pragma Directive
      7. The _Pragma Operator
      8. Predefined Macros
  2. Standard Library

    1. Chapter 15 The Standard Headers

      1. Using the Standard Headers
      2. Contents of the Standard Headers
    2. Chapter 16 Functions at a Glance

      1. Input and Output
      2. Mathematical Functions
      3. Character Classification and Conversion
      4. String Processing
      5. Multibyte Characters
      6. Converting Between Numbers and Strings
      7. Searching and Sorting
      8. Memory Block Handling
      9. Dynamic Memory Management
      10. Date and Time
      11. Process Control
      12. Internationalization
      13. Nonlocal Jumps
      14. Debugging
      15. Error Messages
    3. Chapter 17 Standard Library Functions

  3. Basic Tools

    1. Chapter 18 Compiling with GCC

      1. The GNU Compiler Collection
      2. Obtaining and Installing GCC
      3. Compiling C Programs with GCC
      4. C Dialects
      5. Compiler Warnings
      6. Optimization
      7. Debugging
      8. Profiling
      9. Option and Environment Variable Summary
    2. Chapter 19 Using make to Build C Programs

      1. Targets, Prerequisites, and Commands
      2. The Makefile
      3. Rules
      4. Comments
      5. Variables
      6. Phony Targets
      7. Other Target Attributes
      8. Macros
      9. Functions
      10. Directives
      11. Running make
    3. Chapter 20 Debugging C Programs with GDB

      1. Installing GDB
      2. A Sample Debugging Session
      3. Starting GDB
      4. Using GDB Commands
  1. Colophon