Динамические массивы

Динамический массив – это массив, память для которого выделяется во время работы программы.

Синтаксис объявления динамического массива:

<имя массива>: аrray of <тип элементов>;

Индекс динамического массива всегда начинается с 0!

Имя динамического массива– это указатель, который не требует разыменования (символа ^) для доступа к данным. Например, FArray [2].

Оператор присваивания для имен динамических массивов означает присваивание указателей!

Выделение памяти для динамического массива осуществляется процедурой SetLength (<имя массива>, <количество элементов>), освобождение памяти процедурой Finalize (<имя массива>).

Пример:

Var

FArray: array of integer;

. ..

Begin

SetLength (FArray, 10); {выделяем память для 10 элементов массива}

. .. {что-то делаем с массивом }

{не хватило элементов массива?}

SetLength (FArray, Length(FArray) + 10);{добавим еще 10 элементов }

. .. { делаем с массивом что-то еще }

Finalize (FArray); {освобождаем память }

End.

Использование многомерных динамических массивом рассмотрим на примере "матрицы", которая имеет различное количество элементов в каждой строке.

Пример многомерного динамического массива:

Var

FArray: array of array of integer;

Begin

SetLength (FArray, 10); {память для 10 строк }

. ..

SetLength (FArray[0], 5); { память для 5 элементов первой строки }

SetLength (FArray[1], 4); { память для 4 элементов второй строки }

SetLength (FArray[2], 6); { память для 6 элементов третьей строки }

. .. { Например, FArray[1, 3] – четвертый элемент второй строки }

Finalize (FArray); {освобождаем память, выделенную для массива }

End.


ВВЕДЕНИЕ В ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ КОНСТРУИРОВАНИЕ ПРОГРАММ


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: