thecodex.expert · The Codex Family of Knowledge
Free Course

Learn C

Three tracks from first pointer to undefined behaviour — the language that runs the Linux kernel, CPython, and virtually every piece of systems software. No runtime, no garbage collector. Just you and the machine. Free forever. No account.

🕐 ~12 hours3 tracksC17 / C23Challenging but foundational

⚠ C has no safety nets. Buffer overflows, use-after-free, and memory leaks are not caught at compile time or by a runtime. Always compile with -Wall -Wextra and run your code with -fsanitize=address,undefined during development. Understanding C makes you a better programmer in every other language.

Track 1

Foundations

Variables, control flow, functions, and first pointers

  • Variables, types, and operators
  • Control flow: if, for, while, switch
  • Functions, return values, and scope
  • Pointers: &, *, and pass-by-pointer
  • Arrays and the decay rule
🕐 ~4 hours5 lessons + quiz
Start Foundations →
Track 2

Practitioner

Structs, heap memory, strings, and the preprocessor

  • Structs: typedef, member access, padding
  • Heap memory: malloc, realloc, free
  • Strings: null termination, strcpy, snprintf
  • The preprocessor: #define, #include, macros
  • File I/O: fopen, fprintf, fclose
🕐 ~4 hours5 lessons + quiz
Start Practitioner →
Track 3

Advanced

Pointer arithmetic, undefined behaviour, linked lists, and POSIX

  • Pointer arithmetic and multi-level pointers
  • Undefined behaviour and sanitisers
  • Linked lists and dynamic data structures
  • Function pointers and callbacks
  • POSIX: processes, signals, and sockets basics
🕐 ~4 hours5 lessons + quiz
Start Advanced →

Practice environment

Run C in your browser — no installation needed. Or use GCC/Clang locally with sanitisers.

Compiler Explorer → Repl.it C →