Effective C, 2nd Edition

by Robert C. Seacord

Software Development

Book Details

Book Title

Effective C, 2nd Edition

Author

Robert C. Seacord

Publisher

Penguin Random House LLC (Publisher Services)

Publication Date

2025

ISBN

9781718504127

Number of Pages

395

Language

English

Format

PDF

File Size

6.57MB

Subject

Low-Level Programming

Table of Contents

  • Praise for Effective C
  • Title Page
  • Copyright
  • Dedication
  • About the Author, Contributor and Technical Reviewer
  • Foreword to the Second Edition
  • Foreword to the First Edition
  • Acknowledgments
  • Introduction
  • 1. Getting Started With C
  • Developing Your First C Program
  • Compiling and Running a Program
  • Editors and Integrated Development Environments
  • Compilers
  • Portability
  • Summary
  • 2. Objects, Functions, and Types
  • Entities
  • Declaring Variables
  • Object Types
  • Derived Types
  • Tags
  • Type Qualifiers
  • Scope
  • Storage Duration
  • Storage Class
  • typeof Operators
  • Alignment
  • Variably Modified Types
  • Attributes
  • Summary
  • 3. Arithmetic Types
  • Integers
  • Floating-Point Representation
  • Arithmetic Conversion
  • Summary
  • 4. Expressions and Operators
  • Simple Assignment
  • Evaluations
  • Function Invocation
  • Increment and Decrement Operators
  • Operator Precedence and Associativity
  • Order of Evaluation
  • sizeof Operator
  • Arithmetic Operators
  • Bitwise Operators
  • Logical Operators
  • Cast Operators
  • Conditional Operator
  • alignof Operator
  • Relational Operators
  • Compound Assignment Operators
  • Comma Operator
  • Pointer Arithmetic
  • Summary
  • 5. Control Flow
  • Expression Statements
  • Compound Statements
  • Selection Statements
  • Iteration Statements
  • Jump Statements
  • Summary
  • 6. Dynamically Allocated Memory
  • Storage Duration
  • Memory Management
  • Memory States
  • Flexible Array Members
  • Other Dynamically Allocated Storage
  • Debugging Allocated Storage Problems
  • Summary
  • 7. Characters and Strings
  • Characters
  • Strings
  • String Literals
  • String-Handling Functions
  • Summary
  • 8. Input/Output
  • Standard I/O Streams
  • Opening and Creating Files
  • Closing Files
  • Reading and Writing Characters and Lines
  • Stream Flushing
  • Setting the Position in a File
  • Removing and Renaming Files
  • Using Temporary Files
  • Reading Formatted Text Streams
  • Reading from and Writing to Binary Streams
  • Endian
  • Summary
  • 9. Preprocessor
  • The Compilation Process
  • File Inclusion
  • Conditional Inclusion
  • Macro Definitions
  • Summary
  • 10. Program Structure
  • Principles of Componentization
  • Executables
  • Linkage
  • Structuring a Simple Program
  • Building the Code
  • Summary
  • 11. Debugging, Testing, and Analysis
  • Assertions
  • Compiler Settings and Flags
  • Debugging
  • Unit Testing
  • Static Analysis
  • Dynamic Analysis
  • AddressSanitizer
  • Summary
  • Future Directions
  • Appendix: The Fifth Edition of the C Standard (C23)
  • Attributes
  • Keywords
  • Integer Constant Expressions
  • Enumeration Types
  • Type Inference
  • typeof Operators
  • unreachable Function-Like Macro
  • Bit and Byte Utilities
  • IEEE Floating-Point Support
  • References
  • Index