Suppose a letter is to be written and sent to the President. A person will write the letter, but as instructed by his boss. And then his boss will recheck it or we can say "Pre Process" it and will make required changes. Then it will be sent.

Similarly, in the C language we can do a similar thing. It's the Pre Processing your code before it get compiled and build.

The easiest one to get started with is called the #define Preprocessor.
So lets discuss the coding stuff.

#define

#define is simply used to change the words in the code.
For an example, you see this piece of code below :

This is a simple one but suppose if we had to write this value of pi, 3.14 a thousand times, how will you manage it ? Well, you can make a variable as 'float pi = 3.14' but why waste memory ?
So we have a better alternative. As we just want to replace 3.14 by pi, you write this :

And when you build and run it, it will be automatically get converted into previous code. Just replacing PI to 3.14.
It's a convention followed from a long time that variables are written in small letters and #define replacements in capitals so as to make them easy to distinguish while writing code.
You can do real fun with #define. You can replace anything.

Replacing Values

Just as we did in the above example, We can replace any type of value. Like this one below :