<освобождение памяти>≡delete <выр.>.
Процедура освобождает область памяти на которую указывает ссылочная переменная, после чего эта область становится доступной для распределения под другие динамические переменные.
Способ работы с динамическими переменными.
Резервирование памяти под дин. переменные производится с помощью операции
<идентификатор>=new <тип>
где <тип>, - тип динам. переменной; new, - знак операции. Результат операции – адрес области памяти (указатель); операнд – любой тип в TC.
Пример:
float *p; //в обл.памяти выделяется место, но само значение р
не определяется//
p=new float; //значение р определяется, значение динамической переменной не
определено, но память под нее выделена//
*p, - динамическая переменная.
Динамические массивы.
Динамические массивы – массивы, под которые выделяется область памяти “куча”. Работать с такими массивами так же, как и с динамическими переменными.
Резервирование памяти производится с помощью операции new <тип> []. Результат операции – адрес области памяти (указатель); операнд – любой тип в TC.
Пример:
a=new float [10], - захват памяти под 10 элементов действительного типа; значение a – указатель; работа с такими массивами так же, как и со статичными.
<освобождение памяти>≡delete [] <выражение>; при этом выражение должно иметь значение указателя на динамический массив.
NULL, - отсутствие ссылки; принадлежит любому значению типа указатель.