Contents are:
* How to identify and handle undefined behavior in a C program * The range and representations of integers and floating-point values * How integer promotions are performed and how they may affect portability
I think it's incredibly important to understand how numbers on computers work, what are the limits of 32bit and 64bit values and how double/floats play into it.
* The order of evaluation of expressions
Most coding styles avoid ambiguity by just using (enough parentheses) around (important statements).
* Dynamic memory allocation including the use of non-standard functions
Non-standard worries me here. Memory allocation isn't particularly
* The philosophy underlying the use of character types in C Character encodings and types
I'm curious as to what this is covering? Is it system specific?
* How to perform input/output (I/O) with terminals and file systems using C Standard Streams and POSIX file descriptors * The translation phases implemented by the C compiler and the role of the preprocessor * How to test, debug, and analyze C programs
IO is an interesting topic, but I suspect best covered by a systems programming manual. There's several unix books, Stevens being the goto guide historically, and I would go straight to the source instead.