Learn C The Hard Way

Learn C The Hard Way

“Learn C The Hard Way: A Clear & Direct Introduction To Modern C Programming”, by Zed A. Shaw, is available online. The purpose of this book is to get you strong enough in C that you’ll be able to write your own software in it, or modify someone else’s code.

Description

Learn C The Hard Way will fill in the “beginning programmer” gap in the literature on the C Programming language. It will teach good modern C programming practices and avoid habits that lead to buffer overflows, security defects, and other problems that even experienced programmers cause.

Table of Contents

  • Exercise 0: The Setup
  • Exercise 1: Dust Off That Compiler
  • Exercise 2: Make Is Your Python Now
  • Exercise 3: Formatted Printing
  • Exercise 4: Introducing Valgrind
  • Exercise 5: The Structure Of A C Program
  • Exercise 6: Types Of Variables
  • Exercise 7: More Variables, Some Math
  • Exercise 8: Sizes And Arrays
  • Exercise 9: Arrays And Strings
  • Exercise 10: Arrays Of Strings, Looping
  • Exercise 11: While-Loop And Boolean Expressions
  • Exercise 12: If, Else-If, Else
  • Exercise 13: Switch Statement
  • Exercise 14: Writing And Using Functions
  • Exercise 15: Pointers Dreaded Pointers
  • Exercise 16: Structs And Pointers To Them
  • Exercise 17: Heap And Stack Memory Allocation
  • Exercise 18: Pointers To Functions
  • Exercise 19: A Simple Object System
  • Exercise 20: Zed’s Awesome Debug Macros
  • Exercise 21: Advanced Data Types And Flow Control
  • Exercise 22: The Stack, Scope, And Globals
  • Exercise 23: Meet Duff’s Device
  • Exercise 24: Input, Output, Files
  • Exercise 25: Variable Argument Functions
  • Exercise 26: Write A First Real Program
  • Exercise 27: Creative And Defensive Programming
  • Exercise 28: Intermediate Makefiles
  • Exercise 29: Libraries And Linking
  • Exercise 30: Automated Testing
  • Exercise 31: Debugging Code
  • Exercise 32: Double Linked Lists
  • Exercise 33: Linked List Algorithms
  • Exercise 34: Dynamic Array
  • Exercise 35: Sorting And Searching
  • Exercise 36: Safer Strings
  • Exercise 37: Hashmaps
  • Exercise 38: Hashmap Algorithms
  • Exercise 39: String Algorithms
  • Exercise 40: Binary Search Trees
  • Exercise 41: Using Cachegrind And Callgrind For Performance Tuning
  • Exercise 42: Stacks and Queues
  • Exercise 43: A Simple Statistics Engine
  • Exercise 44: Ring Buffer
  • Exercise 45: A Simple TCP/IP Client
  • Exercise 46: Ternary Search Tree
  • Exercise 47: A Fast URL Router
  • Exercise 48: A Tiny Virtual Machine Part 1
  • Exercise 48: A Tiny Virtual Machine Part 2
  • Exercise 50: A Tiny Virtual Machine Part 3
  • Exercise 51: A Tiny Virtual Machine Part 4
  • Exercise 52: A Tiny Virtual Machine Part 5

Book Details

Author(s): Zed A. Shaw
Format(s): HTML
Link: Read online.








Leave a Reply