Теоретические сведения. Динамическая память, называемая также «кучей», выделяется явно по запросу программы из ресурсов операционной системы и контролируется указателем
Динамическая память, называемая также «кучей», выделяется явно по запросу программы из ресурсов операционной системы и контролируется указателем. Она не инициализируется автоматически и должна быть явно освобождена. В отличие от статической и автоматической памяти динамическая память практически не ограничена (ограничена лишь размером оперативной памяти) и может динамически меняться в процессе работы программы. Выделим основные преимущества и недостатки динамического управления памятью.
Преимущества:
· разумное использование динамических структур данных приводит к сокращению объёма памяти, необходимого для работы программы;
· динамические данные не требуют объявлений их как данных фиксированного размера;
· ряд алгоритмов более эффективен при реализации их с использованием динамических структур. Например, вставка элемента в статический массив на определенное место требует перемещения части элементов массива. При вставке в середину динамического списка достаточно несколько операторов присваивания.
Недостатки:
· алгоритмы для динамических структур обычно более сложны, трудны для отладки по сравнению с аналогичными для статических данных;
· использование динамических структур требует затрат на память для ссылок. В некоторых задачах объём памяти, отводимой для ссылок, превосходит объём памяти, выделяемой непосредственно для данных;
· существуют алгоритмы, реализация которых более эффективна на статических данных.
Дата добавления: 2015-02-16; просмотров: 567;