Book description
Expert advice on C programming is hard to find. While much help is available for object-oriented programming languages, there's surprisingly little for the C language. With this hands-on guide, beginners and experienced C programmers alike will find guidance about design decisions, including how to apply them bit by bit to running code examples when building large-scale programs.
Christopher Preschern, a leading member of the design patterns community, answers questions such as how to structure C programs, cope with error handling, or design flexible interfaces. Whether you're looking for one particular pattern or an overview of design options for a specific topic, this book shows you how to implement hands-on design knowledge specifically for the C programming language.
You'll find design patterns for:
- Error handling
- Returning error information
- Memory management
- Returning data from C functions
- Data lifetime and ownership
- Flexible APIs
- Flexible iterator interfaces
- Organizing files in modular programs
- Escaping #ifdef Hell
Publisher resources
Table of contents
- Preface
- I. C Patterns
- 1. Error Handling
- 2. Returning Error Information
- 3. Memory Management
- 4. Returning Data from C Functions
- 5. Data Lifetime and Ownership
- 6. Flexible APIs
- 7. Flexible Iterator Interfaces
- 8. Organizing Files in Modular Programs
- 9. Escaping #ifdef Hell
- II. Pattern Stories
- 10. Implementing Logging Functionality
- 11. Building a User Management System
- 12. Conclusion
- Index
- About the Author
Product information
- Title: Fluent C
- Author(s):
- Release date: October 2022
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781492097334
You might also like
book
Extreme C
Push the limits of what C - and you - can do, with this high-intensity guide …
book
Modern C
Modern C focuses on the new and unique features of modern C programming. The book is …
book
Head First C
Ever wished you could learn C from a book? Head First C provides a complete learning …
book
Effective C
The world runs on code written in the C programming language, yet most schools begin the …