Header Ads

ad728
  • New Updates

    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 है |

     

     

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728