18 chapters · beginner to systems-ready
Learn C by reading what the machine actually does.
A straight path from your first compiled program to pointers, manual memory management, and the handful of habits that keep C programs correct. No prior systems experience assumed.
Start at 0x00or jump to any chapter below
zsh
$gcc hello.c -o hello
$./hello
Hello, world!
Chapter index
18 pagesFoundations
- 0x00Getting Started
What C is, how a program becomes an executable, and your first build.
- 0x01Variables & Types
Declaring storage, the built-in types, and how much room each one takes.
- 0x02Operators & Expressions
Arithmetic, comparison, logic, and the precedence rules that bind them.
- 0x03Input & Output
Talking to the terminal with printf and scanf, and their format specifiers.
Control Flow
Functions & Data
Pointers & Memory
- 0x09Pointers
Variables that hold addresses: the idea that everything else builds on.
- 0x0APointers & Arrays
Why arr[i] and *(arr + i) are the same thing, and what decays.
- 0x0BDynamic Memory
Asking the heap for space with malloc, and giving it back with free.
- 0x0CStructs & Unions
Grouping related values into one type, and passing them around.