в unix-подобных операционных системах выход относится к группе системных вызовов. системные вызовы - это специальные вызовы, которые позволяют пользовательскому коду (вашему коду) вызывать код ядра. таким образом, выходной вызов выполняет определенные действия по очистке ОС перед возвратом управления ОС, он завершает программу.
#include <stdlib.h>
// example 1
int main(int argc, char *argv){
exit(EXIT_SUCCESS);
}
// example 2
int main(int argc, char *argv){
return 0;
}
Некоторые компиляторы выдают одинаковый код операции из обоих примеров, но некоторые этого не делают. Например, код операции из первой функции не будет включать в себя какой-либо код операции позиционирования в стеке, который будет включен во второй пример, как для любой другой функции. Вы можете скомпилировать оба примера и разобрать их, и вы увидите разницу.
Вы можете использовать выход из любой части вашего кода и быть уверенным, что процесс завершается. Не забудьте включить целочисленный параметр.