C++. Функции. Передача параметров. Оператор return

Из данной статьи Вы узнаете о передаче параметров в функцию и о возврате результата с помощью оператора return. Рассмотрим теоретический материал.


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

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

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

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

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

Если требуется запретить изменение параметра внутри функции, используют модификатор const. Заголовок функции в общем виде будет выглядеть так:

тип имя_функции (const тип_переменной* имя_переменной, …)

Пример

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

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

return (значение);

Работает оператор так. Вычисляется значение выражения, указанного после return и преобразуется к типу возвращаемого функцией значения. Выполнение функции завершается, а вычисленное значение передается в вызывающую функцию. Любые операторы, следующие в функции за оператором return, игнорируются. Программа продолжает свою работу с оператора следующего за оператором вызова данной функции.

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

Также функция может содержать несколько операторов return, если это определенно потребностями алгоритма. Например, в следующей программе функция f сравнивает значение переменной с нулем. Если число положительное, то в программу передается значение равное 1, если отрицательное, то -1, а если нулевое, то 0.

Этот урок не последний в теме «функции». Но, что касается передачи параметров и оператора return, то думаю этого вполне достаточно для дальнейшего изучения C++.


Похожие записи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля отмечены *