Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Функция main()






Одна функция в любой C-программе является главной и имеет имяmain. Таким образом, любая программа должна содержать хотя бы одну функцию и обязательно одна из функций программы должна иметь имя main. Именно с этой функции начинается выполнение программы. В хорошо структурированной программе главная функция всегда содержит действия, отражающие сущность решаемой задачи, чаще всего это вызовы функций. Хотя mainи не является ключевым словом, относиться к нему следует как к ключевому: его не следует использовать в качестве имени переменной.

Простейшая программа состоит из функции main(). Вслед за именем в круглых скобках идет список аргументов. Функция main() может и не иметь аргументов, тогда у нее будет следующий заголовок:

возвр_тип main()

Иногда при запуске программы бывает полезно передать ей какую-либо информацию из внешнего окружения (операционной системы). Обычно такая информация передается функции main() с помощью аргументов (параметров) командной строки, содержащей команду запуска программы. Аргумент командной строки – это информация, которая вводится в командной строке операционной системы после имени программы.

Во внешнем окружении действуют свои правила представления данных, а точнее, все данные представляются в виде строк символов. Для передачи этих строк в функцию main() используются два специальных встроенных аргумента (параметра). Первый параметр содержит количество передаваемых строк, второй - сами строки. Общепринятые (но не обязательные) имена этих параметров argc и argv.

Параметр argc имеет тип int, его значение формируется из анализа командной строки и равно количеству слов в командной строке, включая и имя вызываемой программы (под словом понимается любой текст, не содержащий символа пробел). Численно этот параметр всегда больше или равен 1, потому что первым аргументом считается имя программы.

Параметр argv – это массив указателей на строки, каждая из которых содержит одно слово из командной строки. Если слово должно содержать символ пробел, то при записи его в командную строку оно должно быть заключено в кавычки. Обычно argc и argvиспользуют для того, чтобы передать программе начальные команды, которые понадобятся ей при запуске, например, имя файла, параметр и т. д.

Функция main() может иметь и третий параметр, который принято называть envp. Этот параметр служит для передачи в функцию main() параметров операционной системы (среды), в которой выполняется С-программа.

В итоге заголовок функции main() имеет вид:

int main(int argc, char *argv[], char *envp[]).

Операционная система поддерживает передачу значений для параметров argc, argv, envp, а на пользователе данного исполняемого файла лежит ответственность за передачу фактических аргументов функции main().

Компилятор языка C строит программу таким образом, что в начале работы программы выполняется некоторая инициализация, включающая, в частности, обработку аргументов, передаваемых функции main(), и передачу ей значений параметров среды.

Стандарт ISO/ANSI C требует наличия перед функцией main() типа возвращаемого результата.

В качестве возвращаемого значения рекомендуется использовать тип int, тогда функция main() будет иметь вид

int main()

{

return 0;

}

Допускается также указывать функции main() тип возвращаемого значения void:

void main()

{

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.