main
выполнение функций и программ
Каждая программа C имеет основную функцию, которая должна быть названа main
. Функция main
служит отправной точкой для выполнения программы. Она обычно управляет выполнением программы, вызывая другие ее функции.
Несколько ограничений применяются к main
функции, которая не применяется к другим функциям C. Функция main
:
- Невозможно объявить как
inline
. - Невозможно объявить как
static
. - Не удается принять свой адрес.
- Не удается вызвать из программы.
Сигнатура main
функции
Функция main
не имеет объявления, так как она встроена в язык. Если это сделать, синтаксис main
объявления будет выглядеть следующим образом:
int main( void );
int main( int argc, char *argv[ ] );
int main( int argc, char *argv[ ], char *envp[ ] );
Функция main
объявляется неявно с помощью одной из этих сигнатур. При определении main
функции можно использовать любую из этих сигнатур. Компилятор Майкрософт также позволяет main
иметь возвращаемый тип void
, если значение не возвращается. Параметры argv
и envp
параметры, которые wmain
также можно определить как тип char**
. Дополнительные сведения о аргументах см . в описании аргумента.
Замечания
Функции в исходном коде программы выполняют одну или несколько конкретных задач. Функция main
может вызывать эти функции для выполнения соответствующих задач. При main
вызове другой функции он передает управление выполнением функции, чтобы выполнение начиналось с первой инструкции в функции. Функция возвращает элемент управления main
, когда return
выполняется инструкция или когда достигается конец функции.
Вы можете объявить любую функцию, в том числе main
иметь параметры. Термин "параметр" или "формальный параметр" относится к идентификатору, получающему значение, передаваемое функции. Сведения о передаче аргументов в качестве параметров вы найдете в статье Параметры. Когда одна функция вызывает другую, вызываемая функция получает значения своих параметров от вызывающей функции. Эти значения называются аргументами. Вы можете объявить формальные параметры main
таким образом, чтобы он смог получать аргументы из командной строки с помощью формата, показанного в сигнатуре функции.
Если вы хотите передать сведения main
в функцию, параметры традиционно именуются argc
и argv
, хотя компилятор C не требует этих имен. Традиционно, если третий параметр передается main
в , этот параметр называется envp
. Типы для argc
, argv
и envp
определяются языком C. Вы также можете объявить argv
как char** argv
и envp
как char** envp
. В приведенных ниже в данном разделе примерах описывается использование этих трех параметров для доступа к аргументам командной строки. Эти параметры объясняются в следующих разделах.
Если код соответствует модели программирования Юникода, вы можете использовать версию широкой символьной версии main
Корпорации Майкрософт в wmain
качестве точки входа вашей программы. Дополнительные сведения об этой широкой символьной версии main
см. в разделе "Использование wmain
".
main
окончание
Программа обычно перестает выполняться, когда она возвращается из или достигает конца main
, хотя она может завершиться в других точках программы по различным причинам. Например, может потребоваться принудительное завершение программы при обнаружении какого-то условия ошибки. Для этого можно использовать функцию exit
. Дополнительные сведения и exit
пример использования см. в разделе exit
.
См. также
main
аргументы функции и командной строки (C++)
Анализ аргументов командной строки C