Робота з динамічними змінними
Мета роботи: Ознайомлення з динамічною структурою даних. Отримання навиків при роботі з динамічними змінними.
Теоретичні відомості
Дані, які виникають в вже процесі виконання програми або ж їх розмір під час виконання програми змінюється , називаються динамічними.Для роботи з динамічними об’єктами застосовують тип значень – вказівний.
Загальний вигляд опису вказівного типу:
Type
<ім’я_вказівного типу>=^<ім’я_типу>;
Для динамічних об’єктів уводиться інша область пам’яті, яка називається купою,або динамічною областю пам’яті.
Функція MaxAvailбез параметрів, яка повертає в програму максимальний розмір в байтах неперервного відрізка вільної пам’ яті , що використовується для розміщення динамічних змінних.
Функція MemAvail, яка повертає сумарний розмір всіх вільних областей динамічної пам’яті.
Для вивільнення пам’яті , відведеної за допомогою процедури чи функції new, використовується обернена до неї стандартна процедура dispose.
Над змінними вказівного типу визначені лише операції, які приводять до значень того ж типу. З ними виконуються лише операції присвоєння і порівняння.
Program vkaz ;
{1}var
c1 , c2 : ^ integer; {оглошуємо два вказівники}
begin
{2}new(c1); {резервуємо пам’ять для цілого числа}
new(c2); {резервуємо пам’ять для цілого числа}
{3}c1^ :=5; {змінна c1^ отримує значення 5}
c2^ :=7; {змінна c1^ отримує значення 7}
writeln (c1^,c2^); {виводимо 5 і 7}
{4}c1 :=c2; {переадресація}
writeln (c1^,c2^); {виводимо 7 і 7}
{5}c2 :=nil; {вказівник с2 занулюємо}
{6}dispose(c2); {пам’ять , надану для с2, вивільняємо}
writeln(c1^); {виводимо 7}
end.