pascal Передача параметров по ссылке и по значению в процедуры и функции -- пример
Primary tabs
В Паскале в процедуры и функции передавать значения можно двумя способами:
- По значению (без var перед именем переменной в заголовке процедуры/функции)
- По ссылке (с var перед именем переменной в заголовке процедуры/функции)
это зависит от перечисления принимаемых функций переменных с var или без
Пример передачи значений в процедуру
Рассмотрим пример программы с процедурой:
var
a, b, c: integer; // объявляем глобальные переменные программы
procedure sum(x, y: integer; var z: integer); // начало объявления процедуры
begin
z := x + y; // тело процедуры
end;
begin // начело тела программы
write('Введите два числа: ');
readln(a, b);
sum(a, b, c); { -- вызов процедуры с параметрами (аргументами)
процедура вызывается своим именем,
которое вы написали после зарезервированного слова procedure в описании}
writeln(c);
end.
-- переменная $z$ в процедуру sum передана по ссылке, это значит, что если её изменить в теле процедуре, то она изменится и в том месте, откуда её передали в процедуру (например, в теле основной программы).
Переменные же $x$ и $y$ переданы по значению -- это надо понимать так, что если их значения будут изменяться внутри процедуры (в данном случае), то "снаружи" эти изменения видны не будут.
- Log in to post comments
- 19107 reads