C प्रोग्रामिंग भाषा में, कई डायरेक्टिव्स प्रोग्राम कोड के भागों के चयनात्मक संकलन को नियंत्रित करते हैं। वे निम्नलिखित हैं:
- #if
- #else
- #elif
- #endif
#if का सामान्य रूप निम्नानुसार है:
#if constant_expression statement sequence #endif
#else ठीक C कीवर्ड else की तरह काम करता है।
#elif का अर्थ है "else if" और एक if else-if संकलन श्रृंखला स्थापित करता है।
अन्य बातों के अलावा, #if कोड को "कमेंट आउट" करने का एक वैकल्पिक तरीका प्रदान करता है।
उदाहरण के लिए,
#if 0 printf("#d", total); #endifयहां, कंपाइलर printf("#d", total); को अनदेखा करेगा।
#ifdef और #ifndef
#ifdef का अर्थ है "यदि परिभाषित है", और #endif द्वारा समाप्त होता है।
#ifndef का अर्थ है "यदि परिभाषित नहीं है"।
#undef
#undef पहले से परिभाषित परिभाषा को हटा देता है।
#line
#line __LINE__ की सामग्री को बदलता है जिसमें वर्तमान में संकलित कोड की लाइन संख्या होती है और __FILE__ जो एक स्ट्रिंग है जिसमें संकलित की जा रही सोर्स फाइल का नाम होता है। ये दोनों कंपाइलर में पूर्वनिर्धारित पहचानकर्ता हैं।
#pragma
#pragma डायरेक्टिव एक कार्यान्वयन-निर्भर डायरेक्टिव है जो कंपाइलर को विभिन्न निर्देश देने की अनुमति देता है।
उदाहरण
निम्नलिखित C प्रोग्राम #ifdef, #ifndef, #else और #endif को प्रदर्शित करने के लिए है:
# include <stdio.h> # define a 10 void main(){ #ifdef a printf("\n Hello I am here.."); #endif #ifndef a printf("\n Not defined "); #else printf("\n R u There "); #endif }आउटपुट
जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:
Hello I am here.. R u There