عبارت void(تهی) در واقع این رو به برنامه می گه که تابع چیزی رو برنمی گردونه مثال حتما دیدید ک یک سری توابع اگر کارشان را درست انجام دادن مقدارtrue واگرنه false رو برمی گردونه اما تابعی که از نوع void تعریف بشه هیچ چیزی رو برنمی گردونه دقیقا مثال clrscr خروجی نداره
از اوجایی که برنامه ی اصلی در سی به عنوان یک تابع تعریف می شه پس بید دارای مقدار باشه پس عبارت void می گه که تابع نازی نیست چیزی رو برگردونه!!
پس فرقی بین (void main(void و( )void main نیست
اما ( ) int main چون باید خروجی int داشته باشه عبارت return 0 رو در آخر برنامه قرار می دیم که یه سیستم بفهمونم که برنامه تموم شده(این سبک در سی++ اضافه شده نه سی)
اما حالا چه را اگر return 0 رو نزاریم مشکلی پیش نمیاد چون شما داخل تابع اصلی ارگومانی رو تعریف نکردین و کامپایلر اونو از نوع void در نظر می گیره پس با اتمام خط آخر برنامه رو تموم می کنه!!
عبارت return 0 در سی++ مهمه و شما حتما باید وقتی که از کامپایلر سی++ استفاده می کنید از ( ) int main و return 0 استفاده کنید
شاید در آخر هم سوالی پیش بیاد که چرا الان مشکلی با کامپایلر ندارین ؟ که در پاسخ اید بگم که شما از کمپالر c/c++ استفاده می کنید که در آن واحد با فراخوانی فایل های سرآمد صحیح می تونید از هر دوتش استفده کنید!!