Macros in C are small pieces of code that can be executed with a single command. They are defined using the #define directive and can be used to automate tasks, simplify complex processes, and replace values or pieces of code with a macro name. Whenever a macro name is encountered by the compiler, it replaces the name with the definition of the macro. Macros can be used to define constants, perform arithmetic operations, and create function-like macros that resemble function calls.
Some examples of macros in C include:
-
Constant Macros: These are used to define a constant value that can be used throughout the program. For example, #define PI 3.1415 defines a constant value for pi that can be used in calculations throughout the program.
-
Arithmetic Macros: These are used to perform arithmetic operations on values. For example, #define SQUARE(x) ((x)*(x)) defines a macro that calculates the square of a number.
-
Function-like Macros: These are macros that resemble function calls and can take arguments. For example, #define ADD(x, y) ((x)+(y)) defines a macro that adds two numbers.
Macros can be very useful in simplifying code and making it more readable, but they can also be misused and lead to errors. It is important to use macros judiciously and to ensure that they are defined correctly.