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
      5. Enumerated Types
      6. The Type void
      7. The Alignment of Objects in Memory
    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. Non-Returning Functions
      7. Recursive Functions
      8. 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, Unions, and Bit-Fields

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

      1. Object and Function Declarations
      2. Type Names
      3. typedef Declarations
      4. _Static_assert Declarations
      5. Linkage of Identifiers
      6. Storage Duration of Objects
      7. 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 Multithreading

      1. Threads
      2. Accessing Shared Data
      3. Communication Between Threads: Condition Variables
      4. Thread-Local Objects and Thread-Specific Storage
    15. Chapter 15 Preprocessing Directives

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

    1. Chapter 16 The Standard Headers

      1. Using the Standard Headers
      2. Functions with Bounds-Checking
      3. Contents of the Standard Headers
    2. Chapter 17 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. Multithreading (C11)
      15. Debugging
      16. Error Messages
    3. Chapter 18 Standard Library Functions

  3. Basic Tools

    1. Chapter 19 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 20 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 21 Debugging C Programs with GDB

      1. Installing GDB
      2. A Sample Debugging Session
      3. Starting GDB
      4. Using GDB Commands
      5. Analyzing Core Files in GDB
    4. Chapter 22 Using an IDE with C

      1. IDEs for C
      2. The Eclipse IDE for C/C++
      3. Developing a C Program with Eclipse
      4. Debugging a C Program in Eclipse
      5. Further Information on Eclipse