Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C में int main और int main(void) फंक्शन के बीच अंतर


int main दर्शाता है कि फंक्शन प्रोग्राम निष्पादन के अंत में कुछ पूर्णांक यहां तक कि '0' भी वापस करता है। '0' प्रोग्राम के सफल निष्पादन को दर्शाता है।

int main का सिंटैक्स निम्नानुसार है:

int main(){    ---    ---    return 0; }

int main(void) दर्शाता है कि फंक्शन कोई आर्गुमेंट नहीं लेता। मान लीजिए, यदि हम ब्रैकेट में void नहीं रखते हैं, तो फंक्शन किसी भी संख्या में आर्गुमेंट लेगा।

int main(void) का सिंटैक्स निम्नानुसार है:

int main(void){    ---    ---    return 0; }

वास्तव में, दोनों समान प्रतीत होते हैं लेकिन, int main(void) तकनीकी रूप से बेहतर है क्योंकि यह स्पष्ट रूप से उल्लेख करता है कि main को केवल बिना किसी पैरामीटर के कॉल किया जा सकता है।

आम तौर पर, C भाषा में, यदि किसी फंक्शन सिग्नेचर में कोई आर्गुमेंट निर्दिष्ट नहीं है, तो वह फंक्शन किसी भी संख्या में पैरामीटर्स के साथ या बिना किसी पैरामीटर के कॉल किया जा सकता है।

आइए दोनों फंक्शन्स के लिए कोड को लागू करने के लिए समान तर्क लें। इन फंक्शन्स के लिए एकमात्र अंतर सिंटैक्स है।

उदाहरण 1

नीचे दिया गया C प्रोग्राम आर्गुमेंट्स के बिना int main() फंक्शन के लिए है:

#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) के लिए समान कोड लिखते हैं तो हमें त्रुटि मिलेगी। ऐसा इसलिए होता है क्योंकि void इंगित करता है कि फंक्शन कोई पैरामीटर नहीं लेता।

तो, उपरोक्त उदाहरण में main में आर्गुमेंट 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

  1. - C# में Method और Function में अंतर

    C# में Methods और Functions Same हैं।हालांकि, Methods C# में उपयोग किए जाते हैं और वे Functions होते हैं जो Designated Class के माध्यम से Operate करते हैं। एक Method, Statements का Group होता है जो मिलकर एक Task Perform करता है। हर C# Program में कम से कम एक Class होती है जिसमें Main नाम की Method ह

  1. - C# में public, static और void कीवर्ड में क्या अंतर है

    ये सभी कीवर्ड किसी भी C# प्रोग्राम के मुख्य विधि का हिस्सा हैं। Main विधि, जो सभी C# प्रोग्राम के लिए प्रवेश बिंदु है, बताती है कि जब क्लास निष्पादित होती है तो वह क्या करती है। using System; class Demo { static void Main(string[] args) { Console.WriteLine(My first program in C#!);

  1. - Python में मेथड और फ़ंक्शन के बीच अंतर

    फ़ंक्शन एक फ़ंक्शन एक विशिष्ट कार्य को पूरा करने के लिए कोड का एक ब्लॉक है, जिसमें अपना स्वयं का स्कोप होगा और नाम से बुलाया जाता है। सभी फ़ंक्शन में शून्य (कोई नहीं) तर्क या एक से अधिक तर्क हो सकते हैं। बाहर निकलने पर, एक फ़ंक्शन एक या अधिक मान वापस कर सकता है या नहीं भी कर सकता है। बुनियादी फ़ंक