Информатика. Программирование на C++. Мамонова Т.Е. - 100 стр.

UptoLike

Составители: 

4.1.2. Параметры функции
Механизм параметров является основным способом обмена инфор-
мацией между вызываемой и вызывающей функциями. Параметры,
перечисленные в заголовке описания функции, называются формальны-
ми, а записанные в операторе вызова функции фактическими (или ар-
гументами).
При вызове функции в первую очередь вычисляются выражения,
стоящие на месте фактических параметров; затем в стеке выделяется па-
мять под формальные параметры функции в соответствии с их типом, и
каждому из них присваивается значение соответствующего фактическо-
го параметра. При этом проверяется соответствие типов и при необхо-
димости выполняются их преобразования. При несоответствии типов
выдается диагностическое сообщение.
Существует два вида передачи величин в функцию: по значению и
по адресу.
При передаче по значению в стек заносятся копии значений факти-
ческих параметров, и операторы функции работают с этими копиями.
Доступа к исходным значениям параметров у функции нет, а, следова-
тельно, нет и возможности их изменить.
При передаче по адресу в стек заносятся копии адресов параметров,
а функция осуществляет доступ к ячейкам памяти по этим адресам
и может изменить исходные значения параметров.
Пример 53
#include <iostream.h>
//объявление функции f
void f(int i, int* j, int& k);
int main()
{
int i = 1, j = 2, k = 3;
cout <<"i j k\n";
cout << i <<' '<< j <<' '<< k <<'\n';
f(i, &j, k);
cout << i <<' '<< j <<' '<< k;
}
// определение функции f
void f(int i, int* j, int& k)
{
i++; (*j)++; k++;
}
Результат работы программы:
100