In this video lets see how we can have multiple line of code inside macro expansion, by using preprocessor operator – macro continuation( \ ).
Page Contents
Where Is It Used?
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.
Video Tutorial: Macro Continuation (\) Preprocessor Operator: C Program
[youtube https://www.youtube.com/watch?v=WUcSe_pSv0o]
Source Code: Macro Continuation (\): C Program
#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 (\).
Source Code: Macro Continuation (\) Preprocessor Operator: C Program
#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