Delphi массивы

Дата публикации

Массивы являются неотъемлемой и очень важной частью любого языка программирования. Язык Pascal не является исключением.

Определение массива

Массив  — набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (индексам).  Это общее определение из Википедии. Если говорить о Delphi, то переменные действительно должны быть одного типа. Но есть языки программирования, например php, где поддерживаются гетерогенные массивы (элементы которого могут относиться к разным типам). В самом простом случае массив имеет фиксированное количество элементов, но бывают и димамические массивы, меняющие свою размерность в ходе выполнения программы.

Объявление массива

Перед тем, как использовать массив в Delphi, его необходимо объявить. Делается это следующим образом:

var
<имя_массива>: array [<индекс первого элемента> .. <индекс последнего элемента>] of <тип_элементов>;

Пример объявления массива из десяти целочисленных элементов

var
    A:array [0..9] of integer;

Обратите внимание, что отсчет в массивах принято начинать с нулевого элемента. Хотя никто не запретит вам начать счет с единицы.

В Delphi массив можно задать как константу, иногда это может быть очень полезно:

const
    Ar: array [0..9] of byte = (0,1,2,3,4,5,6,7,8,9);

Двумерные массивы

То, что мы рассмотрели выше - это все одномерные массивы. Но не кто не запрещает нам задавать и большие размерности. Частенько на практике используются двумерные массивы, так называемые матрицы.

Чтобы объявить матрицу в Delphi, используйте следующий код:

var
    Ar: array [0..9,0..9] of integer;

Или аналогичный:

  Ar: array [0..9] of array [0..9] of integer; 

Работа с массивами

Чтобы получить/изменить значение, хранящиеся в ячейки массива, необходимо указать индекс интересующего элемента

  Ar[3] := 100; // Третьему элементу массива присваиваем значение 100
  i := Ar[3]      // В переменную i заносим данные третьего элемента

Если массив Delphi имеет размерность больше единицы, например 2, то указывать нужно два индекса

  Ar[3] [5]:= 100; 

Обращение к элементам двумерного массива чем-то напоминает игру в морской бой. Чтобы проверить есть ли корабль в клетке, нам нужно знать его координаты по ширине и высоте. Вот и индексы в матрице можно сравнить с координатами в морском бое.

Будьте внимательны и при обращении к элементам массива Delphi не выходите за границы. Это инициирует ошибку.

Также советую ознакомиться со следующими материалами:

Добавить комментарий



Обновить

Thursday the 14th. icq 486350790
Copyright 2012

©