C #define and Macros

C #define and Macros – Preprocessor in Action

The #define directive in C is used to create constants or macros. These are powerful tools that the preprocessor handles before compilation even starts.

🔹 #define Constants

Use #define to give a name to a constant value. This makes your code easier to read and update.

📝 Example 1: Define a Constant

#include <stdio.h>

#define MAX 100

int main() {
    printf("The max value is: %d\n", MAX);
    return 0;
}

Try It Now

🔹 Macro Functions

Macros can also take parameters, just like functions. But they’re replaced as text, not called like regular functions.

📝 Example 2: Macro Function for Squaring

#include <stdio.h>

#define SQUARE(x) ((x) * (x))

int main() {
    int num = 5;
    printf("Square of %d is %d\n", num, SQUARE(num));
    return 0;
}

Try It Now

⚠️ Macro Gotcha

Always use parentheses in macro definitions to avoid surprises during expression evaluation!

🎯 Benefits of Using #define

  • Improves readability
  • Makes updating values easier
  • Macro functions can reduce code repetition

🧠 Recap

#define is your preprocessor’s way of saying, “Let me handle this before you even blink.” Whether it’s constants or macros, use it wisely for cleaner, more maintainable code!