Multiline macros in C

CServer Side ProgrammingProgramming

In this section we will see, how can write multiline macros in C. We can write multiline macros like functions, but for macros, each line must be terminated with backslash ‘\’ character. If we use curly braces ‘{}’ and the macros is ended with ‘}’, then it may generate some error. So we can enclose the entire thing into parenthesis.

Please check the following program to get the idea about multiline macros.

Example

#include<stdio.h>
#define PRINT(x, str) ({\
   printf("The number %d", x);\
   printf(" is ");\
   printf(#str);\
   printf("\n");\
})
int main() {
   int x = 10;
   if(x % 2 == 0){
      PRINT(x, EVEN);
   }
}

Output

The number 10 is EVEN
raja
Published on 26-Apr-2019 12:28:56
Advertisements