|
|||
goto error;. решить проблему ⇐ ПредыдущаяСтр 2 из 2 goto error; } error: решить проблему
(error: - это метка) Такая конструкция бывает удобной, если код для обработки ошибок нетривиален, а сами ошибки могут происходить в разных местах. Метка для перехода имеет ту же форму, что и имя переменной. После нее ставится двоеточие. Ее можно ставить перед любым оператором в той же функции, в которой находится соответствующий goto. Область действия метки — вся функция.
Код, в котором есть оператор goto, всегда можно переписать без него.
16. Функции в Си и программное оформление тела функции. Описание (определение) функции, прототип функции и вызов функции. Их назначение и место в программе. Передаваемые значения и возвращаемое значение. Формальные и фактические параметры. Использование внешних переменных. Объявление их типа. Место определения внутренних переменных, их расположение в памяти ЭВМ и видимость. Оператор выхода из функции.
Часто в программе требуется повторить определенную последовательность операторов в разных частях программы. Для того, чтобы описывать эту последовательность один раз, а применять многократно, в языках программирования применяются подпрограммы(функции).
Форма записи функции: <тип > <имя функции>(<формальные параметры>) {<тело функции >}
Если тип возвращаемого функцией значения не указан, то подразумевается int. Если с именем функции не связан результат, то нужно указать тип функции void.
Параметры, записываемые в обращении к функции, называются фактическими; параметры, указанные в описании функции - формальными. Фактические параметры должны соответствовать формальным по количеству, порядку следования и типу.
Объекты, объявленные вне функции, действуют в любой функции и называются глобальными. Объекты, объявленные в функции, действуют только в ней и называются локальными.
Оператор выхода из функции return <выражение>, определяет возвращаемое функцией значение.
Передача параметров по значению. Это значит, что внутри функции создаются локальные копии параметров. Передача по ссылке. Если необходимо передать саму переменную, а не её копию, то в функцию передаётся адрес этой переменной. Таким образом, через параметры можно передавать результат выполнения функции. То есть, параметры, с помощью которых результаты должны передаваться из функции в точку вызова, описываются как указатели.
Вызов функции может быть оформлен в виде оператора, если с именем функции не связано возвращаемое значение, или в виде выражения, если возвращаемое значение связано с именем функции.
Прототип функции может указываться до вызова функции вместо описания функции для того, чтобы компилятор мог выполнить проверку соответствия типов аргументов и параметров. Прототип функции по форме такой же, как и заголовок функции. В конце него ставится «;».
Функции можно подключать с помощью директивы #include <имя файла>. Такие файлы с функциями удобно использовать в диалоговых программах с пользовательским меню, позволяющих выбрать один из режимов.
|
|||
|