Другие языки программирования и технологии

C++ весь код находится внутри int main(int argc, char* pszArgs[]) { }

что такое int main(int argc, char* pszArgs[])
по каким критериям пишется текст в скобках, читаю книгу по программированию, объяснили многое, дали много примеров, но до сих пор не ясно по каким критериям писать int main, собственно в этом и суть вопроса.
Как многие и сказали main - это функция с которой стартует программа в си подобных языках. Первый аргумент int argc - количество параметров программы переданных ей в консоли. При чем название этой переменной можно менять например int countParam а вот тип переменной нельзя (double argc - будет ошибкой). Аналогично для второго параметра, имя менять можно а тип нельзя.
по каким критериям писать
Первое:
если планируете передавать какие то параметры программе через консоль (например имя файла для сохранения чего либо), то стоит использовать этих две переменные int argc, char* pszArgs[], если программа не будет использовать аргументы передаваемые программе то вполне можно их не использовать int main(){}
Второе
считается правилом хорошего тона если функция main возвращает что то по завершении программы. Чаще всего принято что ноль - это успешное завершение программы, но вы можете использовать это по назначению
int main(int argc, char* pszArgs[])
{
...
...
...
return 0;
}

Вот собственно и все. Ну и не говорю что main должна быть обязательна так как думаю это и так понятно.
ЮГ
Юрий Голопогоский
15 408
Лучший ответ
Хасан Никаев благодарю, все хорошо понятно
в языках С и С++ при запуске программы вызывается функция main, ей передается количество аргументов в командной строке при запуске программы и указатель на массив указателей на строки с этими аргументами.
Андрей Новиков Обычно int main(int argc, char **argv). Но это не обязательные параметры, т. е. вполне нормально int main(void) для C и int main() для C++. main - это точка входа в программу, и она может принимать параметры извне, в зависимости от среды выполнения.
main - это первая выполняемая функция (можно переопределить, но по-умолчанию это main) которая выполняется в программе при запуске. Если при запуске программы были указаны в командной строке аргументы (один, два, три или более), то они будут переданы через стек. При этом argc - число аргументов, pszArgs - указатель на массив с аргументами... В результате, ты можешь обработать переданные аргументы. Это очень удобно при работе в консоли или при запусках через пакетные файлы...
внутрь скобок при объявлений функции main ничего писать не надо т. к. int main() не принимает никаких значений, он только возращает системе статус завершения программы 0 или 1.
Снизу 2 идентичных друг другу примера.
в старых компиляторах по типу C++ Builder там по умолчанию написано int main(int argc, char* pszArgs[]), в новых версиях можно не писать ничего в скобках т. к main не принимает никаких значений
int main()
{
...
return 0; -- программа завершилась успешно
}

int main(void)
{
...
return 0; -- программа завершилась успешно
}
Алексей Косарев принимает. просто если не писать - не принимает