working on macros in C