$ overview
overview/0x11·Onward

Where To Go Next

Projects to build and topics to explore once the basics are solid.

Everything up to this point — variables, control flow, functions, arrays, pointers, memory, and files — is enough to build real programs. The rest of C is mostly combinations and refinements of these same ideas.

Projects worth building

  • A command-line to-do list — practice structs, arrays, and file I/O together by saving tasks to disk.
  • A simple text adventure — practice control flow, strings, and program structure across multiple files.
  • A linked list from scratch — the natural next data structure once pointers and malloc feel comfortable; it's a small, self-contained way to practice both.
  • A basic hash table or dynamic array — forces you to think carefully about realloc and memory ownership.

Topics beyond this course

  • Linked lists, stacks, queues, and trees — data structures built directly from structs and pointers.
  • Function pointers — storing and passing functions themselves as values.
  • The standard library in depth — <math.h>, <time.h>, and <ctype.h> cover most everyday needs beyond what this course touched.
  • Bitwise operators — &, |, ^, <<, >>, for working directly with individual bits.
  • Build systems — make or CMake, for projects with many source files.
  • How C connects to systems programming — processes, the standard library's relationship to system calls, and eventually reading real-world C codebases.
checklist.c
1/* Before moving on, you should be comfortable:
2 * - reading a compiler warning and knowing what it means
3 * - tracing what a pointer points to, by hand, on paper
4 * - explaining why every malloc needs a free
5 * - splitting a small program across a .c and .h file
6 */
note: The best next step is a project, not another tutorial
Pick something slightly beyond your comfort level from the list above and build it end to end. You will hit real bugs — that's where the ideas in 0x10 actually stick.