Software & Finance

C Programming (Turbo C++ Compiler) Use of #define macro

#define is a macro and it is used widely in C whenever required. All #define values get replaced with actual values after compilation. Then one might ask a question, why do we need #define macro? The answer is program clarity and ease of maintenance.

Another place #define are used widely is with project configuration. For example, You can have different code for _DEBUG and NDEBUG (release) mode configuration.

you can check like,

#ifdefined(_DEBUG)

printf("working under debug mode");

#endif

Look the following simple example.

int _tmain(int argc, TCHAR* argv[])

{

int arrayData[10];

int CloneData[10];

for(int i = 0; i < 10; i++)

{

scand("%d",&arrayData[i]);

}

for(int i = 0; i < 10; i++)

{

CloneData[i] = arrayData[i];

}

for(int i = 0; i < 10; i++)

{

printf("%d\n", CloneData[i]);

}

int a = 10 + 20 + 30;

int b = a;

return 0;

}

The number 10 is used in 6 places in the function out of which 5 places are the same purpose indicating the number of elements. If we have to change the number of elements it to 20, then we have to make changes in 5 places out of 6 places where 10 is used.

If we have used #define macro, it would be very easy to change. #define is used for clarity and ease of program maintenance.