कभी-कभी हम int main() का उपयोग करते हैं, या कभी-कभी void main()। अब सवाल उठता है कि इन दोनों में क्या अंतर है।
main() फंक्शन अन्य फंक्शन की तरह है। यह भी आर्गुमेंट लेता है, और कुछ मान लौटाता है। एक बात ध्यान रखनी है कि प्रोग्राम इस main() फंक्शन से निष्पादित होना शुरू होता है। इसलिए ऑपरेटिंग सिस्टम इस फंक्शन को कॉल करता है। जब main() से कोई मान लौटाया जाता है, तो यह ऑपरेटिंग सिस्टम को लौटाया जाता है।
void main() इंगित करता है कि main() फंक्शन कोई मान नहीं लौटाएगा, लेकिन int main() इंगित करता है कि main() इंटीजर टाइप डेटा लौटा सकता है। जब हमारा प्रोग्राम सरल होता है, और यह कोड की अंतिम पंक्ति तक पहुंचने से पहले समाप्त नहीं होने वाला है, या कोड त्रुटि-मुक्त है, तो हम void main() का उपयोग कर सकते हैं। लेकिन यदि हम exit() मेथड का उपयोग करके प्रोग्राम को समाप्त करना चाहते हैं, तो हमें कुछ इंटीजर मान (शून्य या गैर-शून्य) लौटाने होंगे। उस स्थिति में, void main() काम नहीं करेगा। इसलिए void main() के बजाय int main() का उपयोग करना अच्छी प्रथा है।