Skip to main content
BookintermediateFree

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.

Visit resource

More resources on C Programming

YouTubeFree

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.

WebsiteFree

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.

WebsiteFree

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.

WebsiteFree

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.

WebsiteFree

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.

Book

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.

See all C Programming resources →