Динамическая память: Пример №22

Динамическая память: Пример №22

Рассмотрим не большой пример по работе с динамической памятью.

В разделе описаний этой программы объявляются три указателя: p_int1 и p_int2, которые будут указывать на ячейки памяти, содержащие значения типа integer, и p_real, указывающий на значение типа real.

Прежде всего, нужно выделить в динамической памяти место под переменные, на которые ссылаются указатели. Поэтому сначала для каждого из указателей вызывается процедура New.

Теперь с выделенными участками памяти можно работать как с обычными переменными, имена которых состоят из имени соответствующего указателя и знака ^.

После выполнения всех необходимых действий с динамическими переменными, нужно освободить выделенные участки памяти: в конце программы для каждого указателя вызывается процедура Dispose.

Для выделения и освобождения динамической памяти используются также процедуры:

GetMem(P,Size) – выделяет память размером Size под переменную P;
FreeMem(P,Size) – освобождает память размером Size, занятую  переменной P.

Эти процедуры используются аналогично процедурам New и Dispose. Но запомните, что освобождать нужно ровно столько памяти, сколько ранее было выделено.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: