CPP and Macros in C