با سلام و احترام.
اینجانب بسیار تازه کارم و تازه با زبان های برنامه نویسی آشنا شوم و در تلاشم تا بر اساس اصول اون رو یاد بگیرم و بکار ببندم.

بعد از دیدن تند قطعه کد به زبان سی چند سوال برایم پیش آمد.
این که در بعضی از برنامه ها که تابع اصلی شروع میشد ، یا این دوحالت بودند:

حالت اول:

int main() {
// some code
}


حالت دوم:

void main() {
// some code
}


این دو حالت چه تفاوتی با هم دارند...؟

سوال بعضی این که در یعضی از برنامه مشاهده نمودم int main به این صورت نوشته شده بود:

int main( int argc, char ** argv ) {
// some code
}

مقداری که در () نوشته شده چکار می کنه.

با سپاس