Одномерные динамические массивы

Динамические массивы введены в Pascal, начиная с Delphi 4. Основное отличие от статических массивов в том, что в динамических массивах заранее не объявляется количество элементов. Объявление динамического массива содержит его имя и тип элементов – один из базовых типов.

Пример: var A: array of integer;

При объявлении динамического массива место под него не отводится. При использовании такого массива, следует задать его размер процедурой SetLength.

Пример: SetLength(А,15);

Индексы массива всегда целые, начинающиеся с 0. В примере массив содержит элементы от А[0] до А[14].

Если повторно применить SetLengthкмассиву, то размер его изменится. Если новое значение размера больше предыдущего, то все значения элементов сохраняются и в конце добавляются новые нулевые элементы. Если же новый размер меньше предыдущего, то массив усекается и в нем остаются значения первых элементов.

Пример:

Programm massiv;

Var A: array of integer;

N, i: Integer;

Begin

N:=5;

SetLength (A,N); //массивА(0,0,0,0,0)

For i:=0 to N do A[i]:=i+1; //массивА(1,2,3,4,5)

N:=8;

SetLength (A,N); //массивА(1,2,3,4,5,0,0,0)

End.

Усечь массив можно при помощи функции Copy: A:=Copy(A,0,4); — произойдет усечение массива А, оставляя неизменными первые четыре элемента.

Переменная динамического массива является указателем на начало массива. Если массив еще не объявлен, то переменная равна nil. Удалить динамический массив можно несколькими способами: функция Finalize или установить нулевую длину.

Присваивание вида B:=A массивов возможно, когда var A,B:array of integer; и A>=В или A=nil.

. объявленние динамического массива паскаль massives in pascal Делфи динамические массивы паскаль Двумерные динамические массивы Пример динамического массива в делфи
. Пример динамического массива в делфи динамический массив pascal delphi массив количество больше 64536 динамический массив pascal сщздание динамический массивов в pascal
Комментирование и размещение ссылок запрещено.

Top