5.1 Appendix A: Implementation of dynamic variables in C
The C language, just like Lisp, has a macro system that allows one to extend the language with new syntax. Unlike Lisp macros, however, C macros are not an integral part of the language; they are loaded and expanded before the actual compilation happens by the utility called the preprocessor , which parses C code before passing it to the further stages of the C toolchain.
As we mentioned earlier, the C programming language has no innate notion of dynamic variables. However, we can “bolt” dynamic variables onto the language; we can ...