Full Description
Learn the basics of C, the C standard library, and modern C standards. Complete with modern, up-to-date examples and screenshots, this new edition is fully updated and reworked with the latest C23 standards and features.
C is a language that is as popular today as it was decades ago. It can be used to program a microcontroller or to develop an entire operating system. Author Slobodan Dmitrović takes you on a journey through the C programming language, the standard library, and the C standards basics. Each chapter is the right balance of theory and code examples.
Written in a concise and easy-to-follow manner, this book will provide you all the essentials needed to start programming in modern C.
What You Will Learn
Understand C programming language and C standard library fundamentals
Work with new C standards features
Study the basics of types, operators, statements, arrays, functions, and structs
Review the fundamentals of pointers, memory allocation, and memory manipulation
Take advantage of best practices in C
Who This Book Is For
Beginner or novice programmers who wish to learn the C programming language. No prior programming experience is required.
Contents
Part I: The C Programming Language.- Chapter 1: Introduction.- Chapter 2: Our First Program.- Chapter 3: Types and Declarations.- Chapter 4: Exercises.- Chapter 5: Operators.- Chapter 6: Expressions.- Chapter 7: Statements.- Chapter 8: Exercises.- Chapter 9: Arrays.- Chapter 10: Pointers.- Chapter 11: Command-line Arguments.- Chapter 12: Exercises.- Chapter 13: Functions.- Chapter 14: Exercises.- Chapter 15: Structures.- Chapter 16: Unions.- Chapter 17: Conditional Expression.- Chapter 18: Typedef.- Chapter 19: Const Qualifier.- Chapter 20: Enumerations.- Chapter 21: Function Pointers.- Chapter 22: Exercises.- Chapter 23: Preprocessor.- Chapter 24: Exercises.- Chapter 25: Dynamic Memory Allocation.- Chapter 26: Storage and Scope.- Chapter 27: Exercises.- Chapter 28: Standard Input and Output.- Chapter 29: File Input and Output.- Chapter 30: Exercises.- Chapter 31: Header and Source Files.- Part II: The C Standard Library.- Chapter 32: Introduction to C Standard Library.- Part III: Modern C Standards.- Chapter 33: Introduction to C 11 Standards.- Chapter 34: The C 17 Standard.- Chapter 35: The Upcoming C2X Standard.- Part IV: Dos and Don'ts.- Chapter 36: Do Not Use the gets Function.- 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.