где имя – это имя массива-константы, имя типа массива, имя переменной массива и соответственно (идентификатор);
array, of – зарезервированные слова, которые переводятся как «массив», «из»;
базовый_тип – тип элементов массива (кроме файлового типа);
тип_индекса1, тип_индекса2 – любой порядковый тип, размерность которого не превышает 2 Гб для OP Delphi 6 (для Turbo Pascal – 64 Кбайт).
Тип_индекса1 характеризует порядковые номера элементов матрицы в строках, тип_индекса2 – в столбцах.
В случае использования в роли типа индекса ограниченного типа (интервального типа) конструкция описания двумерного массива выглядит:
array [нижний_индекс1..верхний_индекс1,
нижний_индекс1..верхний_индекс2] ofбазовый_тип;
Количество элементов массива равняется величине:
Примеры объявления двумерных массивов:
const k=10; m=2; n=5;
{Объявление массива-константы из двух строк, трех столбцов
– шесть целочисленных элементов}
f : array [1..2, 1..3] of byte = ((0,1,2), (3,4,5));
{Объявление типа массива из пяти строк, пяти столбцов –
25 целочисленных элементов}
type matrix = array [1..n, 1..n] of integer;
{Объявление переменных массивов}
{массив из пяти строк, пяти столбцов – 25 целых элементов}
var a:matrix;
{ Массив из 10 строк, двух столбцов – 20 действительных элементов}
b : array [1 .. k, 1 .. m] of real;
{Массив из четырех строк, трех столбцов – 12 символьных элементов}
c : array [1..4, 1..3] of char;
{Массив из 256 строк, двух столбцов – 512 целых элементов}
d : array [byte, 1..2] of integer;
Напомним:
объем сегмента памяти, где будут храниться данные Pascal-программы, представляет для Turbo Pascal 64 Кбайт, Object Pascal – 2 Гбайт. Поэтому есть ограничения на количество элементов массива. Размер памяти можно рассчитать: произведение количества элементов массива на размер одного элемента в байтах.
Естественной формой изображения двумерного массива является таблица.
Пример: на рисунке изображен массив, который объявлен как
var а: array [1..2, 1..3] of byte;
Направление увеличения
второго индекса
Направление увеличения
первого индекса
1
a11
a12
a13
a21
a22
a23
Естественное изображение двумерного массива отличается от его изображения в оперативной памяти, ведь оперативная память линейная.