Modern C (3rd edition, covers C23)
by Jens Gustedt · Manning / Inria
Gustedt teaches C as it is written today, covering the C23 standard across five levels from first encounter to ambition: pointers, the memory model, integer semantics, threads and atomics. The author's PDF is free under Creative Commons.
More resources on C Programming
Jacob Sorber (YouTube)
A Clemson CS professor's channel of short code-along videos on pointers, dynamic allocation, debugging with gdb and valgrind, processes, threads, sockets and embedded work - the mechanical C skills textbooks tend to leave implicit.
What Every C Programmer Should Know About Undefined Behavior
Undefined behaviour is the single concept that separates competent C programmers from dangerous ones. Chris Lattner's three-part LLVM series explaining why signed overflow, null dereference and type-punning are undefined, how optimizers legitimately exploit that licence, and why the resulting miscompilations blindside otherwise experienced C programmers.
cppreference - C Reference
The community-maintained reference for the C language and standard library, annotated per standard version from C89 through C23, with exact signatures, semantics, defect-report notes and runnable examples for nearly every function.
cppreference — C language and standard library reference
Community-maintained reference for the C language and its standard library, documenting every header and function with signatures, precise semantics and version markers showing which standard, C89 through C23, introduced or changed each feature. The everyday lookup for working C programmers.
Beej's Guide to C Programming
The free readable-in-a-browser path for someone who will not buy a book, and the fastest place to look up how a C idiom actually works. Distinct from cppreference (prose explanation, not lookup) and from CS50 (text, self-paced). Free online book taking the reader from a first program through pointers, structs, the standard library, variadic functions, multithreading and atomics, with a companion library-reference volume. Informal in tone but technically careful and kept current with recent standards.
Computer Systems: A Programmer's Perspective (3rd edition)
Carnegie Mellon's systems textbook shows what C code becomes: machine representation of data, x86-64 assembly, the memory hierarchy, linking, exceptional control flow, virtual memory and concurrency. The companion site hosts free slides and the self-contained bomb, attack and malloc labs.
