C Programming
A complete path through C for developers coming from JavaScript: memory, pointers, the toolchain, debugging, concurrency and the standards, in the order the roadmap.sh C path teaches them.
- Chapters
- 23
- Roadmap topics
- 141
- Video lessons
- 29· 4h 07m
- Sources
- 269· 165 + 104
You need a C compiler (gcc or clang) and a terminal. Chapter 2 walks through the setup.
Chapters
DoneIn progress
Getting started01–02
- 01IntroductionApplications · C vs Assembly · C vs C++7:277:27
- 02Setting upInstalling C · Running your first program · Code editors / IDEs · vim / nvim · VSCode6:556:55
The basics03–07
- 03VariablesDeclaration vs definition · Initialization · Printing variables6:246:24
- 04Data Typesintegers · float · double · char · fixed-width integers · booleans · extended types · type conversion · type qualifiers · const · volatile · restrict · _Atomic7:427:42
- 05OperatorsArithmetic · Comparison · Logical · Ternary · Bitwise8:368:36
- 06Control Flowif / else and switch · for, while and do while loops · break / continue6:356:35
- 07Functionsmain function · Recursive functions · Variable scopes · Variadic functions · Command-line arguments9:089:08
Core C08–19
- 08Pointers & MemoryMemory model · Stack vs heap · Lifetime of objects · Pointer basics · Null pointers · void pointers · Pointer arithmetic · malloc · calloc · realloc · free · Memory leaks · Dangling pointers · Undefined behavior · Buffer overflow3 videos · 24:433 videos · 24:43
- 09ArraysArrays7:317:31
- 10StringsStrings8:538:53
- 11User-Defined TypesStructs · Typedef · Unions · Enums9:389:38
- 12Common Data StructuresDynamic arrays · Hash maps · Linked lists · Ring buffers / FIFO queues9:199:19
- 13Structuring CodebaseHeader files · Linkage · static · extern9:259:25
- 14Error Handlingerrno · Exit codes · setjmp / longjmp7:547:54
- 15File I/OStreams · File pointers · Binary vs text mode9:429:42
- 16Standard LibraryInput / output · Data utilities · Text processing · Math and time · Diagnostics and limits · OS and signal interfaces9:319:31
- 17Build & CompilationPreprocessor · Macros · Conditional compilation · Compilers · GCC / Clang · Optimization levels · Linking · ABI · GNU Make · CMake · Ninja · Meson · Package managers3 videos · 24:553 videos · 24:55
- 18DebuggingGDB · LLDB · WinDbg · Valgrind · strace · ASan & LSan9:539:53
- 19Testingassert.h · Unity · CMocka · Check9:259:25
Advanced C20–23
- 20Idioms & Design PatternsFunction pointers & callbacks · Opaque pointers · Object-oriented C · RAII-simulated cleanup9:199:19
- 21ConcurrencyPOSIX threads · Mutexes · IPC2 videos · 17:072 videos · 17:07
- 22Process ManagementProcess management9:529:52
- 23C StandardsC89 / C90 · C99 · C11 · C17 · C2311:0111:01
Course map
A 6:48 tour of all 23 chapters: what each one covers and how they build on each other.
Course map — video lesson
6:48 · Explainer