Deep C Dives:
Adventures in C

Errata : None


ISBN: 978-1871962888

Buy from: Amazon

C is a language with a long past and probably a long future. Being one step up from assembler, it keeps the programmer close to the hardware and if you want to understand how your code takes control without all of the abstractions applied in other languages, C is the one to choose. The only problem is that many books and articles on the subject of C are written by programmers who are happier in higher-level languages – they tend to look down on C and try to explain it as if it were a defective Java or some other language.

In Deep C Dives, Mike James provides in-depth exploration of the essence of C, identifying the strengths of its distinctive traits. This reveals that C has a very special place among the programming languages of today as a powerful and versatile option for low-level programming, something that is often overlooked in books written by programmers who would really rather be using a higher-level language. To emphasize the way in which chapters of this book focus on specific topics, they are referred to as “dives”, something that also implies a deep examination of the subject, suitable for programmers who already program in C. The intention is that you will encounter some things that you already know but will come to see them differently. You will also read things that take you into the lesser-understood areas of the C language, which only make sense when you view C as a machine-independent assembly language, which is a good way to find out more about how the machine works and influences the way things are implemented.

Topics delved into include: bit patterns, arithmetic, how C types are different, casting, expressions, the evil for, what’s void, blocks, locals, the stack, heap and static storage, pointers, arrays, multidimensional arrays as pointers, first class functions, structs, type punning, unions, undefined behavior and exceptions.

Mike James has a PhD in computer science and is the editor of, the online magazine written by programmers for programmers. Over his career he has programmed in more than a dozen languages and written scores of books, including Deep C#Javascript JemsProgrammer’s Guide to Kotlin, the three-volume Programmer’s Python: Something Completely Different and, most recently, Extending & Embedding Python Using C.


  • Publisher ‏ : ‎ I/O Press (June 9, 2024)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 215 pages
  • ISBN-10 ‏ : ‎ 1871962889
  • ISBN-13 ‏ : ‎ 978-1871962888
  • Item Weight ‏ : ‎ 1.08 pounds
  • Dimensions ‏ : ‎ 7 x 0.49 x 10 inches


  • ASIN ‏ : ‎ B0D6LZZQ8R
  • Publisher ‏ : ‎ I/O Press; 1st edition (June 8, 2024)
  • Publication date ‏ : ‎ June 8, 2024
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 4048 KB


  • Publisher ‏ : ‎ I/O Press (June 10, 2024)
  • Language ‏ : ‎ English
  • Hardcover ‏ : ‎ 215 pages
  • ISBN-10 ‏ : ‎ 1871962218
  • ISBN-13 ‏ : ‎ 978-1871962215
  • Item Weight ‏ : ‎ 1.08 pounds
  • Dimensions ‏ : ‎ 7 x 0.68 x 10 inches