Infineon Technologies interview question

What is Macro in c? What is the difference between definition and declaration? Difference between argument and parameter?