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

Динамические массивы введены в 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.

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

Top