Learn how to program in modern C, from the basics through the advanced topics required for proficiency. This book is the fastest path to C fluency for anyone experienced in a general-purpose programming language. From start to finish, code examples highlight the idioms and best practices behind efficient, robust programs in a variety of areas.
The book opens with a thorough coverage of syntax, built-in data types and operations, and program structure. C has quirks and presents challenges, which are covered in detail. The coverage of advanced features is what sets this book apart from others. Among the advanced topics covered are floating-point representation in the IEEE 754 standard; embedded assembly language in C code for overflow detection; regular expressions, assertions, and internationalization; WebAssembly through C; and software libraries for C and other clients.
Memory efficiency and safety are the two major challenges in C programming, and you’ll explore these challenges through a series of C examples. Arrays and structures, which are the means to high-level data representation, are covered in connection with pointers, which provide efficiency. The book again uses code examples in covering networking and wire-level security; concurrency (multiprocessing and multithreading); instruction-level parallelism; and interprocess communication through shared memory and files, pipes, message queues, and signals.
Many books introduce C, but few also explain how to use it properly and optimally. Essential C does just that.
What You'll Learn
- Accelerate your path to C mastery with this book for experienced programmers
- Refresh your approach to program structure and data types
- Dive into aggregates and pointers using modern C language
- Revisit storage classes and scope
- Dive into concurrency (multiprocessing and multithreading) and instruction-level parallelism
- Finish with regular expressions, assertions, signals, locales and more
Who This Book Is For
Professional programmers or software developers who has prior experience with C or in general wanting an accelerated learning guide to modern C programming language.