Macro | Function |
1. Macro is pre-processed | 1. Function is not pre-processed |
2. It is not compiled | 2. It is compiled |
3. Macros do not check for compilation error | 3. Function checks for compilation error |
4. Macros are faster in execution than function | 4. Functions are slower in execution than Macro |
5. A Macro is written at the beginning of a C Program | 5. A Function is written as a statement block of a C Program |
6. In Macro, you can't do recursion | 6. In Function, you can do recursion |
7. Macros are useful when a small piece of code used in a program. | 7. Functions are useful when a large piece of code used in a program. |