A comprehensive guide with practical instructions on data structures, low level programming, high performance, networking, IoT and more to help you gain a deeper understanding of the latest standards (C11 and C18) in C programming
- Tackle challenges in C programming and its idiosyncrasies with the help of its latest features
- Understand the workings of arrays, strings, functions, pointers, advanced data structures and algorithms
- Master process synchronization during multi-tasking and server-client process communication
C is a popular programming language among developers because of its flexibility and versatility. It is used in a multitude of applications ranging from microcontrollers to operating systems. This book takes a pragmatic approach by providing you a number of tasks organized to understand the fundamentals as well as the complex C programming concepts.
This book covers all the important building blocks that C provides for making real-life applications. It starts with recipes of arrays, strings, user-defined functions and pre-processing directives. Once you are acquainted with basic features, you will gradually move on to learn pointers, file handling, concurrency, networking, and inter-process communication. The book then illustrates how searching is done and the data can be arranged using different sorting techniques followed by explaining the implementation of data structures like a stack, queue, etc. You will also learn interesting programming features such as using graphics for drawing and animation, use of general-purpose utilities, and so on. Finally, the book will take you through the advanced concepts such as low-level programming, embedded software, IoT, and security in coding, and techniques to improve the performance of code.
By the end of this book, you'll have a clear understanding and deeper knowledge of C programming, which will help you to take your career to new heights.
What you will learn
- Discover how to use arrays, functions, and strings to make large applications
- Perform pre-processing and conditional compilation for efficient programming
- Understand how to use pointers and memory optimally
- Use general-purpose utilities and improve performance of the code
- Implement multitasking using threads and process synchronization
- Use low-level programming and inline assembly language
- Understand how to use graphics for animation
- How to apply security while developing C programs
- Establish communication between two or more processes using different techniques
Who This Book Is For
This book is for developers who want to become better C programmers by learning its modern features and programming practices. You will learn how to deal with C and its idiosyncrasies through bite-sized recipes. Familiarity with C programming is assumed to get the most out of this book.