Differences between Enumeration and Macro are:

    • Enumeration is a type of integer.
    • Macros can be of any type. Macros can even be any code block containing statements, loops, function calls etc.
    • Syntax/Example of Enumeration:
      enum 
      {
        element1, /*Default 0*/
        element2,
        element3 = 5,
      };
      
      #define WORD unsigned short
      
    • Macros are expanded by the preprocessor before compilation takes place. Compiler will refer error messages in expanded macro to the line where the macro has been called.
      Code:
      
      Line:1:#define set_userid(x)\
      Line:2:current_user = x \
      Line:3:next_user = x + 1; 
      Line:4:int main (int argc, char *argv[])
      Line:5:{
      Line:6:  int user = 10;
      Line:7:  set_userid(user);
      Line:7:}
       
      main.c(7):error C2146: syntax error : missing ';' 
                before identifier 'next_user'
      
      Line 2 has the original compilation error
      

About our authors: Team EQA

You have viewed 1 page out of 252. Your C learning is 0.00% complete. Login to check your learning progress.

#