2011-03-26 10 views
7

क्या हम मुख्य पहचानकर्ता के रूप में उपयोग कर सकते हैं?एक पहचानकर्ता के रूप में मुख्य शब्द का उपयोग

यदि हां परिदृश्य क्या हो सकता है?

+2

बेशक आप कर सकते हैं। असल में, यदि आप नहीं करते हैं तो आप निष्पादन योग्य रन नहीं कर पाएंगे। यह एक आरक्षित शब्द या कुछ भी नहीं है। – Jon

+0

@ जॉन डी डू/क्या आप किसी भी मौके से इंग्लैंड की रानी को जानते थे? ;) –

उत्तर

5

क्यों नहीं, बशर्ते आप इसे main() के रूप में उपयोग नहीं करते हैं, अर्थात एक फ़ंक्शन के रूप में उपयोग किया जाता है।

/* Error -- > */ int main() { return 1; } // Redefinition of main() 

struct main{}; // ok 

int main = 0 ; // error 

int main(void) 
{  
    int main=0; // But has to be local. 
    goto main; 
    printf("Hello"); 
    main: 
    printf("World"); 
} 

याद रखें mainNOT एक कीवर्ड है। लेकिन मुझे लगता है कि हम शब्दों से बाहर नहीं गए हैं, तो इसका इस्तेमाल क्यों करें?

4

तकनीकी रूप से? या auto किसी भी फ़ंक्शन के अंदर परिवर्तनीय नाम, या main() वाले किसी भी फ़ाइल के अलावा static फ़ाइल-स्कोप चर के रूप में। यह struct या union टैग, या typedef के रूप में कहीं भी काम कर सकता है लेकिन फ़ाइल main() है।

व्यावहारिक रूप से? जब आप एक साल बाद कार्यक्रम में वापस आते हैं तो खुद को भ्रमित करने का यह एक अच्छा तरीका है और आश्चर्य है कि क्या बेवकूफ विचार एक अच्छा विचार था। :)

2

ठीक है, यहां $ 64,000 सवाल है: क्यों क्या आप यह करना चाहते हैं? Obfuscated सी प्रतियोगिता में प्रवेश करने की योजना, शायद? एक क्विन लिखने के लिए कुछ अद्वितीय दृष्टिकोण? एक लिंट-जैसे कार्यक्रम के लिए एक टेस्ट केस? यह निश्चित रूप से ऐसा कुछ नहीं है जिसे आप वास्तविक कार्यक्रम में करना चाहते हैं।

संबंधित मुद्दे