How does C compiler or Preprocessor handle MACRO with arguments differently? I am working on a code for Atmel Microcontroller and using ATMEL Studio.