Наприклад,

 

 

Масив констант.Описується у розділі Const у вигляді типізованої константи. Компоненти кожної розмірності масиву заключаються в окремі круглі дужки і розділяються комами. Наприклад,

 

Const

Cvec : array[1..5] of real=(0.1, 3,2, -4.7, 5.2, -9.35);

Cmatr : array[1..5,1..4] of integer=

((1,2,3,4), (5,6,3,7), (-6,9,8,-5), (7,-2,7,9));

 

це матриця

.

 

Якщо констант менше ніж визначений розмір масиву, то фіксується помилка. Якщо констант більше ніж визначений розмір масиву, то не використані константи ігноруються і помилка не фіксується.

Динамічні масиви. При опису динамічного масиву у програмі межі індексів не вказуються. Розподіл пам’яті і визначення верхньої межі для кожного виміру динамічного масиву забезпечується під час виконання програми процедурою SetLength. Нижня межа кожного виміру дорівнює нулю. Для звільнення пам’яті потрібно ідентифікаторові масиву присвоїти значення NIL або використати процедуру Finalize. Наприклад,

 

Var a: array of integer;

b: array of array of char;

c: array of array of array of real;

i, j: integer;

begin

{Одновимірний масив a[0..9]}

{Виділення пам’яті}

SetLength(a,10);

{Двовимірний масив b[0..9, 0..9]}

{Виділення пам’яті}

{Розмір першого виміру (кількість рядків)}

SetLength(b,10);

{Розмір другого виміру (кількість стовпчиків)}

for i:=0 to 9 do

SetLength(b[i], 20);

{Тривимірний масив c[0..2, 0..2, 0..2]}

{Виділення пам’яті}

SetLength(c,3);

for i:=0 to 2 do

begin SetLength(c[i],3);

for j:=0 to 2 do

SetLength(c[i,j],3); end;

{Робота з масивами}

………………

{Звільнення пам’яті}

a:=NIL;

Finalize(b);

Finalize(c);

End.

 

У наведеному прикладі: а – одновимірний масив цілих чисел, якому виділена пам’ять для десяти елементів; b – двовимірний масив символів із 10 рядків по 20 символів у рядку; c – тривимірний масив дійсних чисел. Нижня межа індексів для кожного виміру динамічного масиву завжди дорівнює нулю. У багатовимірних масивах спочатку встановлюється довжина його першого виміру, потім другого, третього і т. д.