Yurijnd.com
Четверг, 06.02.2025, 20:13
Меню сайта

Вход на сайт

Поиск

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0

    Delphi. Pascal
    Урок 14. Передача параметров по значению и по ссылке

    Параметры в процедуры и функции можно передавать 2 способами - по значению и по ссылке. Отличия между этими двумя способами следующие - при передаче параметра по значению в процедуру (функцию) передается копия переменной, а при передаче по ссылке - оригинал (сама переменная). Рассмотрим эти 2 способа более подробно.

    При передаче параметра по значению изменение этого параметра внутри вызываемой процедуры (функции) никак не отразится на ней. Вот поясняющий пример:

    ...
    //Объявление процедуры.
    procedure proc(X: Integer);
    begin
     //Изменяем X.
     X:=1;
    end;
    var
     r: Integer;
    begin
     r:=25;
     //Вызов процедуры.
     proc(r);
     //Выведется 25
     Writeln(r);
     Readln;
    end.

    Как вы видите, переменная r свое значение не изменила.

    При передаче же по ссылке изменение параметра внутри процедуры (функции) влечет за собой изменение и самой передваемой переменной. Вот пример:

    ...
    //Объявление процедуры.
    procedure proc(var X: Integer);
    begin
     //Изменяем X.
     X:=1;
    end;
    var
     r: Integer;
    begin
     r:=25;
     //Вызов процедуры.
     proc(r);
     //Выведется 1
     Writeln(r);
     Readln;
    end.

    Как вы видите, тут переменная k изменила свое значение. Обратите внимание, что для передачи переменной по ссылке мы пишем ключевое слово var:

    ...
    procedure proc(var X: Integer);
     ...
    Copyright MyCorp © 2025
    Сделать бесплатный сайт с uCoz