Chapter 37: Initialize Variables Before Using Them
Chapter 38: Do Not Read Out of Bounds
Chapter 39: Do Not Free the Allocated Memory Twice
Chapter 40: Do Not Cast the Result of malloc
Chapter 41: Do Not Overflow a Signed Integer
Chapter 42: Cast a Pointer to void* When Printing Through printf
Chapter 43: Do Not Divide by Zero
Chapter 44: Where to Use Pointers?
Chapter 45: Prefer Functions to Function-like Macros
Chapter 46: Static Global Names
Chapter 47: What to Put in Header Files?
Part V: Appendices
Appendix A: Linkage
Appendix B: Time and Date
Appendix C: Bitwise Operators
Appendix D: Numeric Limits
Appendix E: Summary and Advice
Slobodan Dmitrović is a software consultant, trainer, and entrepreneur. He is the CEO and founder of “Clear Programming Paradigm”, an LLC that provides outsourcing and training services. Slobodan’s ability to summarize complex topics and provide insightful training made him a sought after consultant for the automotive, fintech, and other industries. Slobodan has a strong interest in C, C++, software architecture, training, and R&D.
Learn the C programming language easily and in a straightforward way. This book teaches the basics of C, the C Standard Library, and modern C standards. No previous programming experience is required.
C is a language that is as popular today as it was decades ago. C covers a wide variety of domains. It can be used to program a microcontroller, or to develop an entire operating system. This book is an effort to introduce the reader to the C programming language in a concise and easy to follow manner.
The author takes you through the C programming language, the Standard Library, and the C standards basics. Each chapter is the right balance of theory and code examples.
After reading and using this book, you'll have the essentials to start programming in modern C.
You will:
The C programming language fundamentals
The C Standard Library fundamentals
New C Standards features
The basics of types, operators, statements, arrays, functions, and structs
The basics of pointers, memory allocation, and memory manipulation