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
- 18507 reads