Effective C is a great resource for people who understand some basic programming concepts (perhaps from other languages) and need to learn how to write modern C code that is efficient and correct by design. The book covers all of the basics you would expect in a C primer (declarations/statements/expressions, control flow, memory management, input/output), but also goes into practical subjects often overlooked in other books, like program structure, debugging, and testing.