I\'ve spent my professional life as a C# developer. As a student I occasionally used C but did not deeply study it\'s compilation model. Recently I jumped on the bandwagon a
It's a 2-pass compiler. http://en.wikipedia.org/wiki/Multi-pass_compiler