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