Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Передача параметров в функцию
Обмен информацией между вызываемой и вызывающей функциями осуществляется с помощью механизма передачи параметров. Список_переменных, указанный в заголовке функции называется формальными параметрами или просто параметрами функции. Список_переменных в операторе вызова функции это фактические параметры или аргументы. Механизм передачи параметров обеспечивает замену формальных параметров фактическими параметрами, и позволяет выполнять функцию с различными данными. Количество, типы и порядок следования формальных и фактических параметров должны совпадать. Передача параметров выполняется так: · вычисляются выражения, стоящие на месте фактических параметров; · в памяти выделяется место под формальные параметры, в соответствии с их типами; · формальным параметрам присваиваются значения фактических параметров; · выполняется проверка типов и при необходимости выполняется их преобразование, при несоответствии типов выдается диагностическое сообщение. Передача параметров в функцию может осуществляться по значению и по адресу. При передаче данных по значению функция работает с копиями фактических параметров, и доступа к исходным значениям аргументов у нее нет. При передаче данных по адресу функция обращается к адресам фактических параметров и имеет доступ к ячейкам памяти, в которых хранятся значения аргументов. Таким образом, данные, переданные по значению, функция изменить не может, в отличие от данных, переданных по адресу. Возврат результата с помощью оператора return Возврат результата из функции в вызывающую ее функцию осуществляется оператором return (выражение); Работает оператор так: · вычисляется значение выражения, указанного после return и преобразуется к типу возвращаемого функцией значения; · выполнение функции завершается, а вычисленное значение передается в вызывающую функцию; · операторы, следующие в функции за оператором return, игнорируются; · программа продолжает свою работу с оператора следующего за оператором вызова данной функции. Оператор return может отсутствовать: · в функциях типа void; · если возврат происходит перед закрывающейся фигурной скобкой; · в функции main. Функция может содержать несколько операторов return. Указатели и динамические массивы Идея работы с указателями состоит в том, что пользователь работает с адресом ячейки памяти и имеет возможность динамически создавать и уничтожать переменные.
|