окажчик на динамічну змінну, пам'ять для якої виділена інструкцією new (p), то інструкція dispose (р) звільняє займану динамічноїзмінної пам'ять.  
 Створення, використання і знищення динамічних змінних 
  p1, p2, p3: ^ Integer;// покажчики на змінні типу integer 
 // створення динамічних змінних типу integer 
 // виділення пам'яті для динамічних змінних 
  New (p1); 
  New (p2); (p3); 
  р1 ^: = 5; 
  р2 ^: = 3; 
  р3 ^: = р1 ^ + р2 ^; ('Суммачіселравна' + IntToStr (р3 ^)); 
 // знищення динамічних змінних, звільнення пам'яті 
  Dispose (p1); 
				
				
				
				
			  Dispose (р2); (р3);; 
   На початку роботи процедура створює три динамічні змінні. Дві змінні, на які вказують p1 і р2, отримують значення в результаті виконання інструкції присвоювання. Значення третьої змінної обчислюється як сума перших двох. p align="justify"> Списки 
  Покажчики та динамічні змінні дозволяють створювати складні динамічні структури даних, такі як списки і дерева. 
  Список можна зобразити графічно, як показано на малюнку 2. 
 В  
 Малюнок 2. Графічне зображення списку. br/> 
 Кожен елемент списку (вузол) являє собою запис, що складається з двох частин. Перша частина - інформаційна. Друга частина відповідає за зв'язок із наступним і, можливо, з попереднім елементом списку. Список, в якому забезпечується зв'язок тільки з наступним елементом, називається однозв'язний. p align="justify"> Для того щоб програма могла використовувати список, треба визначити тип компонентів списку і змінну-вказівник на перший елемент списку. Нижче наведено приклад оголошення компонента списку студентів: 
   type = ^ TStudent;// покажчик на змінну типу TStudent 
 // опис типу елемента списку = record 
  FIO: string [60];// прізвище: integer;// номергруппи: string [60];// домашня адреса: TPStudent;// покажчик на наступний елемент списку; head: TPStudent;//покажчик на перший елемент списку 
   Додавати дані можна в початок, в кінець або в потрібне місце списку. У всіх цих випадках необхідно коригувати покажчики. На малюнку 3 зображено процес додавання елементів в початок списку. p align="justify"> Додавання елемента в початок динамічного списку 
  = ^ TStudent;// указательнатіп TStudent = record_name: string [20];// фамілія_name: string [20];// ім'я: TPStudent;// следующійелементспіска 
  end; head: TPStudent;// початок (голова) списку, додати елемент в початок списку 
  procedure add;: TPStudent;// новийелементспіска