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

Как создать одномерный динамический массив в Паскале?

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

Динамические массивы в Паскале не имеют заранее определенного размера.

Размер динамических массивов может изменяться.

Динамические массивы в Паскале пример

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

type TIntMassiv = array of Integer;
var intMassiv: TIntMassiv;

здесь создан новый тип TIntMassiv, это динамический массив, его размер не известен, и переменная данного типа intMassiv.

Размер динамического массива неизвестен, но для работы с таким массивом размер надо установить. Устанавливают размер динамического массива в Паскаль с помощью функции SetLength

SetLength(intMassiv, 2);

здесь установлен размер два для массива intMassiv.

Отсчет индексов динамического массива в Паскале всегда ведут с нуля.

Присвоим значение первому элементу массива intMassiv, а индекс первого элемента динамического массива всегда равен нулю:

intMassiv[0] := 10;

Присвоим значение второму элементу массива intMassiv, а индекс второго элемента динамического массива всегда равен 1:

intMassiv[1] := 12;

Изменим длину динамического массива в сторону увеличения:

SetLength(intMassiv, 3);

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

Присвоим значение новому третьему элементу массива intMassiv, а индекс третьего элемента динамического массива всегда равен 2:

intMassiv[2] := 14;

Изменим длину динамического массива в сторону уменьшения:

SetLength(intMassiv, 1);

здесь мы уменьшили размер массива на два элемента, при этом последние два элемента существующего массива удалились.

После окончания работы с динамическим массивом освобождаем память, выделенную для него:

intMassiv := nil;

Теперь в нашем массиве нет элементов.

Собираем всё вместе: