The 900-something lines of C code documented by the book
Interpreting Lisp, which can now be found on Github, is not something I would recommend for teaching C beginners.
From a best practices point of view, it is pretty awful.
https://github.com/Apress/interpreting-lisp