Found in 4 comments on Hacker News
LocalMan · 2020-03-11 · Original thread
I've written many tens of thousands of lines of C, but retired 15 years ago. The two best books I know are:

1. C: A Reference Manual, by Harbison and Steele.

2. The C Puzzle Book, by Alan Fueur.

Harbison and Steele has much better explanations than K&R. The Fueur book taught me a lot about C declarations. Declarations are that part of C language that is them most unnecessarily difficult.

You asked about a slightly different question, best practices. But in the real world you'll run into a lot of code that practices below that level.

LocalMan · 2015-04-07 · Original thread
A much more complete book than K&R is "C: A Reference Manual", which has much better explanations.

See it here:, at its home page.

Or at Amazon here:

Turn to this book when you have questions. The authors are Harbison and Steele. If you become a C programmer, you will want and need this book. So you may as well get a copy now.

Another (more advanced) book is The C Puzzle Book.

It's older and I'm not sure it's totally up-to-date with the latest version of C. But it's still very valuable. If you finish this book, you will be a C ninja, and it isn't too hard.

K&R is outdated, in my opinion, because it is too skimpy.

pietrofmaggi · 2010-09-28 · Original thread
If you enjoy this kind of puzzle "The C Puzzle Book" if full of them with a clear explanation:

It's a funny little book that can keep you busy during compilation time.

And the "C Reference Manual" ( is the best, up-to-date reference to understand how this small language can be abused.

wooby · 2009-04-26 · Original thread
1. K&R - an absolute essential. I found myself in your shoes about two years ago, picked this up, and worked through it.

2. "The Unix Programming Environment" ( This is a recent find, but covers more application. It's almost a Part 2 of K&R and covers building problems and the Unix signal and file APIs. The examples are in an ancient syntax, but part of the fun is coding them and getting them to compile.

3. "The C Puzzle Book" ( I found this one day at Fry's, and it's fucking awesome. You can effectively learn C using it without a compiler.

Good luck!

Fresh book recommendations delivered straight to your inbox every Thursday.