Beginning with the basic concept of programming, the book gives an exhaustive coverage of arrays, strings, functions, pointers, and data structures. Separate chapters on linked lists and stacks, queues, and trees, with their implementation in C, have been provided to simplify the learning of complex concepts. Some advanced features of C such as memory models, command-line arguments, and bitwise operators have also been included. Case studies demonstrating the use of C in solving mathematical as well as real-life problems have also been presented. This edition also highlights C99 features wherever relevant in the text. The book is easy-to-understand and student-friendly with plenty of programs complete with source codes, sample outputs, and test cases. Readers will find this book an excellent companion for self-study owing to its numerous examples, review questions, and programming exercises.