type MyTable = array[1..4, 1..3] of Integer;
var X : MyTable;
Y : Integer;
begin
Y:=X[3, 2];
end;
Теперь в результате операции присвоения Y будет равен 7.
Многомерный, например, двумерный массив можно описать как массив массивов:
type TMyArray = array [1 .. 4] of array [1 .. 3] of Integer;
Результат будет аналогичен предыдущему примеру.
Каждое измерение многомерного массива может иметь свой собственный тип, не обязательно целый.
Кроме вышеописанных, так называемых статических массивов, у которых количество элементов неизменно, в Delphi можно использовать динамические массивы, количество элементов в которых допускается изменять в зависимости от требований программы. Это позволяет экономить ресурсы компьютера, хотя работа с такими массивами происходит гораздо медленнее. Описываются динамические массивы аналогично статическим, но без указания диапазона индексов:
type TDinArray = array of Integer;
var A : TDinArray;
После создания в динамическом массиве нет ни одного элемента. Необходимый размер задаётся в программе специальной процедурой SetLength. Массив из ста элементов:
begin
SetLength(A, 100);
end;
Нижняя граница динамического массива всегда равна нулю. Поэтому индекс массива A может изменяться от 0 до 99.
Многомерные динамические массивы описываются именно как массивы массивов. Например, двумерный:
type T3DinArray = array of array of Integer;
var A : T3DinArray;
В программе сначала задаётся размер по первому измерению (количество столбцов):
SetLength(A, 3);
Затем задаётся размер второго измерения для каждого из трёх столбцов, например:
SetLength(A[0], 3);
SetLength(A[1], 2);
SetLength(A[2], 1);
|
Таким образом создаётся треугольная матрица:
|
A00 A10 A20
A01 A12
A02
|
Чтобы освободить память, выделенную динамическому массиву, нужно массиву как целому присвоить значение nil:
A:=nil;
Ключевое слово nil в Delphi означает отсутствие значения.
Записи очень важный и удобный инструмент. Даже не применяя специальные технологии, с его помощью можно создавать собственные базы данных. Записи - это структура данных, каждый элемент которой имеет собственное имя и тип данных. Элемент записи иначе называют поле. Описание записи имеет вид:
Достарыңызбен бөлісу: |