Явные динамические переменные
часто используются в таких
динамических структурах как связные списки и деревья, которым
необходимо расти и\или сокращаться во время выполнения программы.
Недостатки: корректное использование указателей и
ссылок требует от
программиста высокого профессионализма.
3.
Автоматические – «живут» внутри блока или подпрограммы,
размещаются в особом разделе оперативной памяти – стеке – при обращении
к подпрограмме и удаляются из памяти при завершении работы. Связывание
автоматической переменной с типом происходит статически при компиляции
на основе оператора объявления. Связывание с памятью – при выполнении
программы. Позволяют
использовать рекурсии, т.к. рекурсивным
подпрограммам требуется некоторая локальная память,
чтобы каждая
активная копия рекурсивной подпрограммы имела свою версию локальных
параметров.
Недостатки: существенные затраты времени на размещение и удаление
переменных на стадии выполнения программы.
4.
Неявные динамические – это
переменные, размещение которых
происходит при загрузке в них конкретных значений.
Преимущества: гибкость при использовании оперативной памяти, т.к. в
разные моменты времени можно использовать одну и ту же ячейку для
разных типов данных.
Недостатки: атрибуты таких переменных, в том числе, типы, диапазоны
индексов массивов и т.п., определяются в
динамическом режиме, поэтому
необходимо формировать и поддерживать дескриптор,
что требует
существенных временных затрат. Кроме того, использование неявных
динамических переменных влечет высокую ненадежность программы