Над змінними вказівного типу визначені лише операції, які приводять до значень того ж типу. З ними виконуються лише операції присвоєння і порівняння. Оператор присвоєння записують так само , як і для інших типів:
S := r;
де s – змінна вказівного типу, r – може бути змінною того ж типу, функцією, тобто значенням якої є вказівник цього ж вказівного типу або порожній вказівник nil .
Нехай
q : ^integer;
r : ^real;
тоді присвоєння
p : = q
недопустиме , оскільки p вказує на змінну дійсного типу, q-цілого.
Розглянемо приклад. Нехай описані вказівні змінні x та y.
var x,y : ^integer :
і визначені відповідні їм динамічні об’єкти – змінні цілого типу.
New(x); new(y);
Присвоєння x^ := 2; y^ :=5; схематично можна показати :
x 2
y 5
Якщо тепер виконати присвоєння x := y ,то одержимо випадок , показаний на схемі
х 2
у 5
Якщо виконати присвоєння x^ := y^, то отримаємо ситуацію :
х 5
у 5
Особливості використаня динамічних змінних порівняно зі статичними :
1) замість опису динамічних змінних описують вказівники – статичні змінні вказівного типу, які ставлять у відповідність динамічним змінним ;
2) для створення динамічних змінних , використовують процедуру new , фактичним параметром якої задають відповідну вказівну змінну;
3) доступ до динамічних змінних відбувається за допомогою змінних з вказівником.