Topics in C Programming is not a book you read. It is a book you survive . And those who survive emerge as true masters of the C language.
In the vast library of C programming literature, certain names stand as pillars. While Brian Kernighan and Dennis Ritchie’s The C Programming Language is rightly celebrated as the definitive specification, the educational rigor of the language was truly shaped by a handful of other master teachers. Among the most influential, yet often under-discussed, are Stephen G. Kochan and Patrick H. Wood .
is a prolific author known for his ability to demystify complexity. His earlier work, Programming in C , was a gentle, exhaustive introduction for beginners. Kochan’s strength lies in pedagogy —breaking down syntactic sugar into digestible, logical chunks. He writes like a patient professor who anticipates where students will stumble. Stephen G Kochan- Patrick H Wood Topics in C Programming
, on the other hand, came from the trenches of systems-level development. Wood was deeply involved with the technical nitty-gritty: pointers to functions, dynamic memory allocation strategies, and the fragile art of portability.
When these two forces combined, they created a hybrid text. Kochan provided the structural clarity, ensuring the reader never felt lost. Wood injected the blood and guts of real-world C—the kind of code that runs in embedded devices, operating system kernels, and database engines. Together, they didn't just teach C; they taught C mastery . Unlike the encyclopedic C: A Reference Manual by Harbison and Steele, Topics in C Programming is not a reference book. It is a bridge book . Topics in C Programming is not a book you read
One of their legendary "Topics" is a hack to implement a buddy memory allocator from scratch. This exercise forces the reader to understand struct alignment, linked list management of free blocks, and the trade-offs between speed and space. Before C# delegates or C++ std::function , there were raw function pointers. Kochan and Wood treat this topic with unusual depth. They demonstrate how to build a generic sort function (similar to qsort ) that takes a comparison function pointer. But they go further: they build a simple event loop for a hypothetical GUI.
The subtitle, "Rev. ed. of: Topics in C Programming / Stephen G. Kochan, Patrick H. Wood. c1987," hints at its evolution, but the core premise remains: You already know the syntax. Now learn how to use it. In the vast library of C programming literature,
The exercise involves creating an array of function pointers to act as a dispatch table. This replaces a monstrous switch statement with a more elegant, data-driven approach. For a book in 1991, this was remarkably forward-thinking. One might ask: "Why read a 30-year-old book when modern C standards (C11, C17, C23) exist?"