Dark Mode Logo (Optional)

Dark Mode Logo (Optional)

Macro Substitution Directive



Macro Substitution Directive

ये एक ऐसा तरीका होता है जिसमें किसी Program का कोई Identifier किसी Predefined String से Replace होता है | Preprocessor ये काम किसी #define Statement के Under में करता है | इस तरह के Statements को Macro Definition कहा जाता है | जैसे


#define START main() {

जब हम हमारे Program में इस प्रकार से किसी Macro को Define करते हैं तो Program में जहां भी Macro का नाम होता है program Compile होने से पहले वहां पर Define की गई String Replace हो जाती है | इसे समझने के लिए निम्न Program देखिये –


#include <stdio.h>
#include <conio.h>
#define START main()
{
#define PI 3.14
START
float Area, radius;
printf("Enter Radius");
scanf("%f", &radius);
Area = PI * radius * radius;
printf("Area of Radius is %f ", Area);
getch();
}

जब इस Program को Compile किया जाता है तब Program Compile  होने से पहले सारे Macro Statements Expand होते हैं | यानी ये Program Compile होने से पहले निम्नानुसार Format में Convert होता है

Program


//Expanded File :
#include <stdio.h>
#include <conio.h>
#define START main(){
#define PI 3.14
main()
{
float Area, radius;
printf("Enter Radius");
scanf("%f", &radius);
Area = 3.14 * radius * radius;
printf("Area of Radius is %f ", Area);
getch();
}

Source Code के Expand होने पर START के स्थान पर main() { 0 PI के स्थान पर 3.14 मान आ जाता है | मान आने के बाद Program Compile होता है | Macro Definition के बाद जो मान लिखा जाता है वह वास्तव में एक String होता है | यानी इस Program में PI का जो मान 3.14 लिखा गया है वह Float Value नहीं है बल्कि एक String है |

 

 

You may like these posts:

No comments:

Post a Comment