Студопедия

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

КАТЕГОРИИ:

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






Передача параметров в функцию






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

Список_переменных, указанный в заголовке функции называется формальными параметрами или просто параметрами функции.

Список_переменных в операторе вызова функции это фактические параметры или аргументы.

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

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

Передача параметров выполняется так:

· вычисляются выражения, стоящие на месте фактических параметров;

· в памяти выделяется место под формальные параметры, в соответствии с их типами;

· формальным параметрам присваиваются значения фактических параметров;

· выполняется проверка типов и при необходимости выполняется их преобразование, при несоответствии типов выдается диагностическое сообщение.

Передача параметров в функцию может осуществляться по значению и по адресу.

При передаче данных по значению функция работает с копиями фактических параметров, и доступа к исходным значениям аргументов у нее нет.

При передаче данных по адресу функция обращается к адресам фактических параметров и имеет доступ к ячейкам памяти, в которых хранятся значения аргументов.

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

Возврат результата с помощью оператора return

Возврат результата из функции в вызывающую ее функцию осуществляется оператором

return (выражение);

Работает оператор так:

· вычисляется значение выражения, указанного после return и преобразуется к типу возвращаемого функцией значения;

· выполнение функции завершается, а вычисленное значение передается в вызывающую функцию;

· операторы, следующие в функции за оператором return, игнорируются;

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

Оператор return может отсутствовать:

· в функциях типа void;

· если возврат происходит перед закрывающейся фигурной скобкой;

· в функции main.

Функция может содержать несколько операторов return.

Указатели и динамические массивы

Идея работы с указателями состоит в том, что пользователь работает с адресом ячейки памяти и имеет возможность динамически создавать и уничтожать переменные.



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал