In this video lets see how we can have multiple line of code inside macro expansion, by using preprocessor operator – macro continuation( \ ).
Page Contents
While you’re writing complex logic inside macro expansion, you’ll need to break the line and write code in next line. In such cases macro continuation operator is very helpful. And the code looks much cleaner and clearer.
#include<stdio.h> #define SQUR(x) \ printf("Square of %d is %d\n", x, (x * x)); int main() { SQUR(5); return 0; }
Output:
Square of 5 is 25
Here we are writing the macro expansion in the next line, so we are making use of macro continuation preprocessor operator (\).
#include<stdio.h> #define COMPANY(x) switch(x) { \ case 1: printf("1. Oracle\n"); break; \ case 2: printf("2. IBM\n"); break; \ case 3: printf("3. Ripple\n"); break; \ default: printf("default. Banks\n"); \ } int main() { COMPANY(3); COMPANY(2); COMPANY(50); return 0; }
Output:
3. Ripple
2. IBM
default. Banks
Here we’ve multiple lines of code inside macro expansion. So at the end of each line we’ve written macro continuation symbol ( \ – backslash). Wherever you write the macro template, preprocessor will replace it with the macro expansion before execution.
For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List
For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert