Difference between macro and function
| No | Macro | Function |
| 1 | Macro is Preprocessed | Function is Compiled |
| 2 | No Type Checking | Type Checking is Done |
| 3 | Code Length Increases | Code Length remains Same |
| 4 | Use of macro can lead to side effect |
No side Effect |
| - |
|
|
| 5 | Speed of Execution is Faster |
Speed of Execution is Slower |
| 6 | Before Compilation macro name is replaced by macro value | During function call , Transfer of Control takes place |
| 7 | Useful where small code appears many time | Useful where large code appears many time |
| 8 | Generally Macros do not extend beyond one line | Function can be of any number of lines |
| 9 | Macro does not Check Compile Errors | Function Checks Compile Errors |

