указатель

pascal Указатель на переменную, пример изменения значения по указателю. Паскаль

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.

Указатели и ссылки - чем отличаются в чем разница

Ссылка (reference) — это псевдоним существующей переменной, который не может быть пустым и не меняется после инициализации
а вот указатель указатель (pointer) — это самостоятельная переменная, хранящая адрес памяти, которую можно переназначать, делать нулевой (nullptr) или использовать для адресной арифметики.

Дополнительно

Ссылка - это псевдоним - альтернативное имя для объекта.
Так например можно передавать объект в функцию по ссылке:

Subscribe to RSS - указатель