C
Full course · 21 lessonsC is the foundational systems programming language that powers operating systems, embedded devices, databases, and virtually every major software infrastructure. These are the definitive free resources — vetted, current, and complete.
Getting Started with C
Set up a C toolchain with gcc, understand compile/run, main function, and standard streams.
Variables and Data Types
Integral and floating types, fixed-width types, sizeof, and enumeration.
Operators and Expressions
Arithmetic, comparison, logical, bitwise operators, and precedence.
Control Flow
if/else, switch, for, while, do-while loops, and jump statements.
Functions and Prototypes
Function declarations, pass-by-value, pass-by-pointer, and recursion.
Arrays and Strings
One and multi-dimensional arrays, null-terminated strings, string.h.
Pointers
Address-of, dereference, pointer arithmetic, pointer-to-pointer, void*.
Structs and Unions
Struct declaration, member access, arrow operator, copies, unions.
Dynamic Memory
malloc, calloc, realloc, free, memory leaks, and heap patterns.
Preprocessor and Macros
#define, function-like macros, include guards, conditional compilation.
File I/O
fopen, fprintf/fscanf, fgets, binary I/O, fseek, and error handling.
Standard Library
string.h, stdlib.h, math.h, and ctype.h essentials.
Bit Manipulation
Bitwise operators, bit flags, bit tricks, and bitfields.
Function Pointers and Callbacks
Function pointer syntax, callbacks, qsort comparators, dispatch tables.
Linked Lists and Data Structures
Struct nodes, linked lists, traversal, free, and reusable patterns.
Recursion
Recursive functions, factorial, fibonacci, divide-and-conquer.
Error Handling
errno, perror, strerror, return codes, and setjmp/longjmp.
Multi-file Projects and Headers
Header files, include guards, separate compilation, static linkage.
Make and Build Tooling
Makefiles, targets, automatic variables, compiler flags, sanitizers.
Undefined Behavior and Debugging
OOB access, signed overflow, use-after-free, volatile, restrict, sanitizers.
Advanced: Variadics, Threads, and Atomics
Variadic functions, inline, C11 threads, atomics, low-level control.
Free Books
Beej's Guide to C Programming
One of the most praised free guides — walks through basic syntax to memory management, pointers, and structs with clear modern examples.
Modern C (Jens Gustedt)
Teaches C as written today — incorporating C11/C17/C23 modern standards rather than outdated 1980s styles. Free PDF.

