Effective C, 2nd Edition cover

Effective C, 2nd Edition

An Introduction to Professional C Programming
by Robert C. Seacord
Spring 2025, 272 pp.
Use coupon code PREORDER to get 25% off!

Download Chapter 2: Objects, Functions, and Types

Look Inside!

Effective C, 2nd Edition pages 78-79Effective C, 2nd Edition pages 196-197Effective C, 2nd Edition pages 256-257

The world runs on code written in the C programming language, yet most schools begin the curriculum with Python or Java. Effective C bridges this gap and brings C into the modern era—updated to the latest C23 standard. With the aid of this instant classic, you’ll soon be writing professional, portable, and secure C programs to power robust systems and solve real-world problems.

Robert C. Seacord introduces C and the C standard library while addressing best practices, common errors, and open debates in the C community. Developed together with other C standards committee experts, Effective C will teach you how to debug, test, and analyze C programs. You’ll benefit from Seacord’s concise explanations of C language constructs and behaviors, and from his 40 years of coding experience.

Author Bio 

Robert C. Seacord is the standardization lead at Woven by Toyota, where he works on the software craft. Robert was previously a technical director at NCC Group, secure coding manager at Carnegie Mellon University’s Software Engineering Institute, and an adjunct professor in the School of Computer Science and the Information Networking Institute at Carnegie Mellon. Robert is the convener of the ISO/IEC JTC1/SC22/WG14, the international standardization working group for the C programming language. He is the author of other books, including The CERT® C Coding Standard, 2nd edition (Addison-Wesley, 2014); Secure Coding in C and C++, 2nd edition (Addison-Wesley, 2013); and Java Coding Guidelines: 75 Recommendations for Reliable and Secure Programs (Addison-Wesley, 2014). He has also published more than 50 papers on software security, component-based software engineering, web-based system design, legacy-system modernization, component repositories and search engines, and user interface design and development.

Table of contents 

Foreword to the 2nd Edition by Ollie Whitehouse
Foreword by Pascal Cuoq
Chapter 1: Getting Started with C
Chapter 2: Objects, Functions, and Types
Chapter 3: Arithmetic Types
Chapter 4: Expressions and Operators
Chapter 5: Control Flow
Chapter 6: Dynamically Allocated Memory
Chapter 7: Characters and Strings
Chapter 8: Input/Output
Chapter 9: Preprocessor
Chapter 10: Program Structure
Chapter 11: Debugging, Testing, and Analysis
Appendix: The Fifth Edition of the C Standard


The chapters in red are included in this Early Access PDF.


"This is why you should program in C. Because other languages don’t open portals to hell.”
—Michał Zalewski, former CISO, Snap Inc., author of Silence on the Wire

Reviews from the 1st edition:

"This book's emphasis on the security aspects of C programming is unmatched. My personal recommendation is that, after reading it, you use all of the available tools it presents to avoid undefined behavior in the C programs you write."
—Pascal Cuoq, Chief Scientist, TrustInSoft

"This book contains a rich amount of quality information on the C language and programming. It’s clearly written, with good, pithy examples…an excellent book. Highly recommended."
—David Sullivan, ACCU's {CVU} Magazine

"An excellent introduction to Modern C."
—Francis Glassborow, ACCU

"A really, really good C book that does not talk down to you."
—Stephan Neuhaus, @stephanneuhaus1

"An updated and relevant version of what you may be coding. I'm a fan."
—Christoff Sogon, @sogonsec