General structure of a C program (theory and examples): “Programación en C: Metodología, algoritmos y estructura de datos”, pages 96-103.
Compiler (theory): “"The GNU tutorial"”, pages 4-6.