Used in everything from microcontrollers to operating systems, C is a popular programming language among developers because of its flexibility and versatility. This book helps you get hands-on with various tasks, covering the fundamental as well as complex C programming concepts that are essential for making real-life applications.
You’ll start with recipes for arrays, strings, user-defined functions, and pre-processing directives. Once you’re familiar with the basic features, you’ll gradually move on to learning pointers, file handling, concurrency, networking, and inter-process communication (IPC). The book then illustrates how to carry out searching and arrange data using different sorting techniques, before demonstrating the implementation of data structures such as stacks and queues. Later, you’ll learn interesting programming features such as using graphics for drawing and animation, and the application of general-purpose utilities. Finally, the book will take you through advanced concepts such as low-level programming, embedded software, IoT, and security in coding, as well as techniques for improving code performance.
By the end of this book, you'll have a clear understanding of C programming, and have the skills you need to develop robust apps.
What you will learn
Discover how to use arrays, functions, and strings to make large applications
Perform preprocessing and conditional compilation for efficient programming
Understand how to use pointers and memory optimally
Use general-purpose utilities and improve code performance
Implement multitasking using threads and process synchronization
Use low-level programming and the inline assembly language
Understand how to use graphics for animation
Get to grips with applying security while developing C programs
Who this book is for
This intermediate-level book is for developers who want to become better C programmers by learning its modern features and programming practices. Familiarity with C programming is assumed to get the most out of this book.
Table of Contents
Working with Arrays
Managing Strings
Exploring Functions
Preprocessing and Compilation
Deep Dive into Pointers
File Handling
Implementing Concurrency
Networking and Inter-process communication
Sorting and Searching
Working with Graphs
Advanced Data Structures and Algorithms
Creativity with Graphics
Using MySQL Database
General-Purpose Utilities
Improving Performance of your Code
Low-Level Programming
Embedded Software and IoT
Applying Security in Coding