इंट मेन यह दर्शाता है कि फ़ंक्शन प्रोग्राम निष्पादन के अंत में कुछ पूर्णांक '0' भी लौटाता है। '0' प्रोग्राम के सफल निष्पादन को दर्शाता है।
इंट मेन का सिंटैक्स इस प्रकार है -
int main(){ --- --- return 0; }
इंट मेन(शून्य) यह दर्शाता है कि फ़ंक्शन कोई तर्क नहीं लेता है। मान लीजिए, यदि हम कोष्ठक में शून्य नहीं रखते हैं, तो फ़ंक्शन कितने भी तर्क लेगा।
int main(void) का सिंटैक्स इस प्रकार है -
int main(void){ --- --- return 0; }
दरअसल, दोनों एक जैसे लगते हैं लेकिन, int main(void) तकनीकी रूप से बेहतर है क्योंकि इसमें स्पष्ट रूप से उल्लेख किया गया है कि main को बिना किसी पैरामीटर के ही कॉल किया जा सकता है।
आम तौर पर, सी भाषा में, यदि कोई फ़ंक्शन हस्ताक्षर किसी भी तर्क को निर्दिष्ट नहीं करता है, तो फ़ंक्शन को किसी भी पैरामीटर के साथ या बिना किसी पैरामीटर के कॉल किया जा सकता है।
आइए दोनों कार्यों के लिए कोड को लागू करने के लिए समान तर्क लें। इन कार्यों के लिए केवल सिंटैक्स का अंतर है।
उदाहरण 1
बिना तर्क के int main() फंक्शन के लिए C प्रोग्राम नीचे दिया गया है -
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(10); } return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
after decrement a =9 after decrement a =8 after decrement a =7 after decrement a =6 after decrement a =5 after decrement a =4 after decrement a =3 after decrement a =2 after decrement a =1 after decrement a =0
उदाहरण 2
नीचे दिया गया एक ही प्रोग्राम है लेकिन int main(void) फंक्शन के साथ -
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(10); } return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
error
अगर हम int main() और int main(void) के लिए एक ही कोड लिखते हैं तो हमें एक एरर मिलेगी। ऐसा इसलिए होता है क्योंकि शून्य इंगित करता है कि फ़ंक्शन कोई पैरामीटर नहीं लेता है।
तो, उपरोक्त उदाहरण में मुख्य रूप से तर्क 10 को हटाने का प्रयास करें और संकलित करें। इसलिए, संशोधन के बाद उपरोक्त कोड इस प्रकार होगा -
उदाहरण
#include <stdio.h> int main(){ static int a = 10; if (a--){ printf("after decrement a =%d\n", a); main(); } return 0; }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
after decrement a =9 after decrement a =8 after decrement a =7 after decrement a =6 after decrement a =5 after decrement a =4 after decrement a =3 after decrement a =2 after decrement a =1 after decrement a =0