C by Dissection presents a thorough introduction to the programming process by carefully developing working programs to illuminate key features of the C programming language. This book presents the concepts of the programming process using the "dissection" method. Dissection is a unique tool first developed by the authors to point out key features of program code. It is similar to a structured walk-through of the code, with the intention of explaining newly encountered programming elements and idioms as found in working code. Each chapter presents a number of carefully explained programs, which lead the reader in a holistic manner to ever-improving programming skills. Right from the start, the reader is introduced to complete programs, and at an early point in the book is introduced to writing functions as a major feature of structured programming. This edition features expanded treatment of pointers, memory management, and recursion. It also takes into account the fact that many people are learning Java as a first language and then going to C, or vice-versa, and calls out those topics that present a challenge when making such transitions (e.g. i/o, data types). This book assumes no programming background and can be used by first-time computer users or by experienced programmers who are transitioning to C.