Saturday, March 15.

Header Ads

Colorful+Black+Friday+Discount+Leaderboard+Ad

Nesting of Macros

Muscle+Inc.+%25282%2529

Nesting%20of%20Macros

Nesting of Macros

अन्य Statements की तरह हम Macros की भी Nesting कर सकते हैं जैसे


#define    x  10
#define    PI 3.1415
#define    SQUARE(z)   ((z)*(z))
#define    CUBE (x)    (SQUARE (x)*(z))

एक Macro को किसी दूसरे Macro में Parameter के रूप में भी Use किया जा सकता है | जैसे ऊपर के Code में हमने x y को एक Macro बनाया है | इन्हें हम निम्नानुसार किसी अन्य Macro में Argument के रूप में भी Pass कर सकते हैं |


#define MAX(x,y) (((x)>(y) ? (x) : (y))

इसी Macro को हम निम्नानुसार Nested भी कर सकते हैं |


int Maximum;
Maximum = MAX (x, (MAX(y,z)) 

ये Nested Macro तीन संख्याओं में से बड़ी संख्या Return करेगा | एक बात हमेंशा ध्यान रखें कि Macro Template व उसके Argument List के बीच किसी तरह का Space नहीं होना चाहिए | जैसे


#define MAX(x,y) (((x) > (y) ? (x) : (y))

ये Macro काम नहीं करेगा | क्योंकि MAX व उसके Arguments के बीच Space दिया गया है |


 

No comments

Post Top Ad

Post Bottom Ad