![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функция 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() { }
|