Значение ссылочной переменной R можно присваивать другой ссылочной переменной того же типа.
Пример 1. Пусть Q, R: ^point; тогда оператор Q := R; зашлет в Q тот же адрес, что хранится в R.
Рассмотрим действия со ссылочными переменными на следующей схеме. Пусть Q и R указывают на различные компоненты динамических переменных типа C:
C = record I: integer; P: point end;
Пусть в памяти машины размещены две цепочки динамических переменных. Выполним четыре различных операций: Q := R; Q^ := R^; Q^.I := R^.I; Q^.P := R^.P;
a) После выполнения оператора Q := R; переменная Q указывает на ту же динамическую переменную, что и R.
б) После выполнения оператора Q^ := R^; (из исходного состояния) получим, что на место указанной переменной “20”, указывающей на “30”, заслана переменная “15”, указывающая на “25”.
в) После выполнения оператора Q^.I := R^.I; из исходного состояния получим, что на место целого значения 20 заслано значение 15; поле указателя не изменилось.
г) После выполнения оператора Q^.P := R^.P; из исходного состояния получим, что на место ссылки на компоненту “30” заслана ссылка на компоненту “25”, поле целого значения не изменилось.

Ссылочные переменные могут указывать на одну и ту же переменную, т.е. быть равными, как R и Q в случае а).
Ссылочные переменные можно сравнивать посредством операций = и . Логическое выражение Q = R имеет значение True для случая a) и значение False для случаев б) и в), т.к. для б) ссылочные переменные Q и R указывают на разные динамические переменные, имеющие, правда, равные значения.
В качестве аналога нуля для ссылочных переменных принято специальное значение Nil: если переменная имеет значение Nil, то это означает, что она не указывает ни на какую переменную. Значение Nil в поле указателя имеет всегда первая компонента цепочки динамических переменных.

Значение Nil можно заслать оператором присваивания: L := nil; если L = nil, то цепочки пуста.
Чтобы определить, что данный элемент является первым в цепочке переменных, достаточно проверить на Nil значение поля указателя этой переменной.
Пример. if L^.P = nil then …
Замечание. Попытка обратиться к указанной переменной с указателем, имеющим значение Nil, приводит к ошибке. Диагностика в этом случае не всегда выдается.