Структура данных - массив. Часть 1 - 7 стр.

UptoLike

7
В качестве примера опишем вектор A
[1..N].
const N=20;
type Tip = integer;
Первый способ.
var A : array[1..N] of Tip;
Второй способ.
Type vect= array[1..N] of Tip;
Var A:vect;
Массиву выделяется сплошная область памяти. Это значит, что элемен-
ты вектора
a
1,
a
2
,…,a
n
располагаются последовательно друг за другом.
Пусть описан одномерный массив:
var a:array[m..n] of Tip;
Если предположить, что элемент типа Tip занимает p байт памяти, то
адресом элемента массива с индексом
i будет:
a+ (i-m)*p,
где a – адрес первого элемента массива.
Приведенные формулы вычисления адреса содержат обычные арифме-
тические операции. При неправильном значении индексов будет получен не-
правильный адрес. Программист должен предусматривать возможность воз-
никновения таких ошибок, включая проверки правильности значений индек-
сов, а именно, проверку нахождения индексов внутри границ диапазона. Ес-
ли использовать директиву компилятора {$R+}, то проверка
будет выпол-
няться автоматически.