If you so far are not familiar with compilers design, you should read the book Latem suggested ("Dragon book"). It's
simple and outlines how various aspects of compilers are to be designed. Though to actially work with any specific part of
compiler you need another more specific information source.
What are you expected to compile C to? To assembly, to machine codes, to some middle level representation? Is the main
planned part of work front-end, or you should develop some later processing?