Macro Overloading

Macro Overloading

A macro and a function can have the same name. If one wants to disable a macro at some point then she/he must use #undef macroname.

However this can be achieved even without un-defining the macro.

putchar is implemented as macro as well as function.

putchar('M'); will be handled as a macro and (putchar)('F'); will invoke the function

Do it yourself

Write a function and a macro with same name but different body

Now call using (name)(…) & name(…)