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

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

. delphi динамический массив delphi заполнить одномерный массив от 0 до n динамические массивы турбо паскаль динамические массивы паскаль Delphi пример динамического вывода
. двумерные динамические массивы делфи задать массив от 0 до 1000 динамический массив pascal delphi одномерные массивы паскаль Двумерные динамические массивы
Комментирование и размещение ссылок запрещено.

Top