Основною операцією при роботі із зсилочними змінними є операція розіменування. Суть її полягає в переході від зсилочної змінної до
значення, на яке вона вказує. Ця операція позначається вказуванням символу'вказівника (^) слідом за вказівниковою змінною. Результатом операції є значення об'єкту, на який вказувала зсилочна змінна. Є дві зсилочні змінні i та j, що вказують на об'єкти цілого типу, значення яких дорівнюють 2 і 4. Для того, щоб одержати копію змісту і^ в змінну j^ необхідно виконати операцію:
j^:=i^;
Потрібно писати саме таким чином тому, що j:=і; приведе до копіювання
адреси значення, на який вказує і в зсилочну змінну j.
В цьому випадку ми одержимо дві зсилки на одне і те саме значення, а
значення, на яке раніше вказувала змінна j буде втрачено.
Зсилочні змінні і вказівники сумісні між собою по типу, тому не буде
помилки в слідуючому записі:
DimPtr:=RecPtr;
Але після розіменування контроль типів стає суворим, і тому наступний оператор:
DimPtr^: =RecPtr^; дасть помилку.
Тут мова йде не про значення цілком сумісних адрес, а про різнотипні значення за цими адресами.
Зсилки можуть порівнюватись між собою. Під цим розуміють порівняння відповідних сегментів та зміщень адрес, що зберігаються в них. Має сенс лише перевірки на рівність чи нерівність зсилок чи вказівників.
IF DimPtr =XXXPtr then …
IF DimPtr <>XXXPtr then …
Порівняння зсилок не завжди працює коректно. Якщо дві зсилки вказують на одну і ту ж адресу в пам'яті, але ця адреса записана в них різними значеннями, то вони вважаються різними.
Процедури New і GetMem завжди повертають зсилки, приведені до такого вигляду, що зміщення адреси має значення від 0 до 15 ($F), тому вони порівнюються корректно.
А спеціальні функції Addr і Ptr цього не роблять, і порівнювати їх результати з чимось іншим треба з великою обережністю. Розіменовані зсилки на структури індексуються звичайним чином. Для визначених вище зсилок це буде виглядати наступним чином:
DimPtr^[i] {доступ до елементів і-го динамічного масиву}
RecPtr^.поле ; {доступ до поля динамічного масиву}
Після об'яви в програмі зсилки або вказівника, його значення не визначено і містить випадкову адресу.
Для роботи з динамічними змінними їх завжди потрібно спочатку розмістити спеціальними процедурами в пам'яті, або хоча б присвоїти
зсилці коректне значення адреси.