Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
bilety_1-_26 (1).doc
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
1.28 Mб
Скачать
  1. Тело функции. Локальные объекты функции. Возвращаемое значение и его тип.

Тело функции.

  • Тело функции является составным оператором или блоком, если в нем есть определения констант и/или переменных

  • Представляет собой некоторую последовательность операторов, выполняющих необходимые действия над параметрами (операндами) функции

  • Для удобства в теле функции могут быть введены дополнительные переменные (локальные).

Локальные переменные.

При вызове функции, как и при входе в любой блок, в системном стеке выделяется память под локальные объекты

  • При выходе из функции соответствующий участок стека освобождается, поэтому значения локальных переменных между вызовами одной и той же функции не сохраняются

  • Такие локальные переменные называются автоматическими; они инициализируются при каждом вызове функции

  • Локальная переменная может быть объявлена с модификатором static; такая переменная называется статической

  • Статические переменные размещаются в области оперативной памяти, называемой сегментом данных

  • Они сохраняют свои значения между вызовами функции и инициализируются один раз при первом выполнении операторов, содержащих их определения

Возращаемое значение.

  • Если функция возвращает какое либо значение (функция-операция), то в ее теле должен содержаться хотя бы один оператор возврата:

return возвращаемое_значение

  • Тип возвращаемого значения должен совпадать с типом функции

  • Этот тип может быть любым, кроме типа массива и функционального типа, т.е. функции не могут возвращать массивы и другие функции.

Тип возращаемого значения.

  • Если функция не должна возвращать значение (функция-оператор), то для нее в качестве типа указывается служебное слово void, что означает «пустой»

  • В теле такой функции не должно быть ни одного оператора возврата.

  1. Тело функции как блок. Принцип вложенности блоков. Правила видимости для программных объектов.

Определение блока.

  • Фрагмент исходного текста, ограниченный фигурными скобками и содержащий объявление каких-либо идентификаторов, называется блоком

  • Объявляемые идентификаторы могут быть именами различных программных объектов: констант, переменных, типов данных, функций

  • Примером блока может служить тело функции, в которой объявлены внутренние переменные

Принцип вложенности.

  • Внутри блока может присутствовать другой блок, так что возникает набор вложенных блоков

  • Соответственно, различают внешний (охватывающий) блок и внутренние блоки.

Правила видимости.

  • В каждом блоке программы доступны для использования объекты, объявленные во внешних блоках, и недоступны объекты, объявленные во внутренних блоках

  • Внутренние описания отменяют внешние описания

  • Объекты, описанные в данном блоке, называются локальными для этого блока

  • Объекты, описанные во внешних по отношению к данному блоках, называются глобальными для данного блока

  1. Вызовы функций. Фактические параметры (аргументы) функции. Передача параметров по значению и по ссылке. Правила соответствия между формальными и фактическими параметрами.

Вызов функции.

Осуществляется путем указания имени функции со списком фактических параметров – литералов, констант, переменных – являющихся параметрами при соответствующем вызове.

Примерами таких вызовов могут служить обращения к функциям стандартных библиотек.

Фактические параметры.

  • Фактические параметры (аргументы функции) должны совпадать по типу с формальными параметрами, но не обязаны иметь совпадающие с ними имена

Правила соответствия.

  1. Число фактических параметров, задаваемых при вызове, должно совпадать с числом формальных параметров, указанных в описании процедуры или функции

  1. Между списками формальных и фактических параметров устанавливается однозначное соответствие, определяемое порядком их перечисления.

  2. Типы соответствующих формального и фактического параметров должны быть совместимыми.

  3. Формальному параметру-значению должен соответствовать фактический параметр, являющийся выражением.

  4. Формальному параметру-переменной должен соответствовать фактический параметр, являющийся переменной .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]