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