Skip Navigation or Skip to Content

Stephen G Kochan- Patrick H Wood Topics In C Programming Online

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 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?" Stephen G Kochan- Patrick H Wood Topics in C Programming

The book deliberately avoids rehashing if statements or for loops. Instead, it focuses on high-leverage, dangerous, and powerful areas of the language that introductory texts ignore. The "Topics" approach is what makes it timeless. Even though the book was written in the late 80s (with revisions in 1991), the topics it covers are the same ones that trip up modern C developers on Arduino, embedded Linux, or high-frequency trading systems. Let's analyze the specific technical domains that Kochan and Wood mastered in their collaboration. 1. Advanced Pointer Arithmetic and Polymorphism Most introductory books teach that a pointer holds an address. Kochan and Wood dedicate significant real estate to pointer polymorphism —the idea that a void * can morph into any data type. However, their unique contribution is the discussion of opaque pointers . One of their legendary "Topics" is a hack

The answer lies in the foundations . The topics Kochan and Wood chose are low-level enough that standards have not invalidated them. The way a stack frame works, the way the heap organizes memory, and the way the preprocessor manipulates tokens are the same today as they were in 1991. Kochan and Wood treat this topic with unusual depth

, 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.

For intermediate programmers looking to transition from "writing in C" to "thinking in C," one book remains a legendary rite of passage: Topics in C Programming (originally published in 1991). This article is a deep dive into the unique synergy of Kochan and Wood, the specific "topics" that made their work revolutionary, and why this text remains a hidden gem for serious systems programmers today. To understand the weight of Topics in C Programming , one must first understand its authors.