I loved &quot;Expert C Programming: Deep C Secrets&quot; by Peter Van der Linden. Great deep dive on the minutiae of important details (the difference between arrays and pointers as function arguments, etc)