pascal Указатель на переменную, пример изменения значения по указателю. Паскаль
Primary tabs
var
a, b, c: integer; // глобальные переменные
p: ^integer; // Тип: указатель на integer
begin
a := 5;
writeln('a= ', a);
// f1(a);
p := @a; { получаем указатель на переменную a
(на область памяти, где лежит её значение) }
writeln('p= ', p^); {смотрим что лежит в области памяти,
на которую указывает указатель p }
p^ := 9; // Запись "по ссылке"
writeln('p= ', p^);
writeln('a= ', a); // значение изменилось тоже, хотя мы не меняли его явно
readln();
end.
-- работает в freepascal (Lazarus). Похожим образом работает и передача переменных по ссылке в подпрограмму, где используя другое имя внутри подпрограммы можно изменить исходное значение снаружи.
Ссылки:
- Источник: https://wiki.freepascal.org/Pointer/ru
- Об этом фрагменте кода говорим на видео: https://youtu.be/201KCCOOtyo
- Log in to post comments
- 2698 reads