Effective C Cover

Effective C

An Introduction to Professional C Programming
by Robert C. Seacord
August 2020, 272 pp.

Look Inside!

Effective C backcoverEffective CEffective CEffective CEffective CEffective C


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—covering the modern C17 Standard as well as potential C2x features. 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.

You’ll learn:

  • How to identify and handle undefined behavior in a C program
  • The range and representations of integers and floating-point values
  • How dynamic memory allocation works and how to use nonstandard functions
  • How to use character encodings and types
  • How to perform I/O with terminals and filesystems using C Standard streams and POSIX file descriptors
  • How to understand the C compiler’s translation phases and the role of the preprocessor
  • How to test, debug, and analyze C programs

Effective C will teach you how to write professional, secure, and portable C code that will stand the test of time and help strengthen the foundation of the computing world.

Author Bio 

Robert Seacord is a Technical Director at NCC Group where he develops and delivers secure coding training in C, C++, and other languages. Seacord is an expert on the C Standards committee. His six previous books include The CERT C Coding Standard and Secure Coding in C and C++.

Table of contents 


Chapter 1: Getting Started
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

View the detailed Table of Contents


"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

Extra Stuff 

Read Robert Seacord's article on Effective C in IEEE Computer

NCC Group published a video and blog by author Robert Seacord on the Future of C Code Review


Click here to download the latest errata

The author also maintains a list of errata and updates of the book here: http://robertseacord.com/wp/errata/