Теоретические сведения. Динамическая память, называемая также «кучей», выделяется явно по запросу программы из ресурсов операционной системы и контролируется указателем

Динамическая память, называемая также «кучей», выделяется явно по запросу программы из ресурсов операционной системы и контролируется указателем. Она не инициализируется автоматически и должна быть явно освобождена. В отличие от статической и автоматической памяти динамическая память практически не ограничена (ограничена лишь размером оперативной памяти) и может динамически меняться в процессе работы программы. Выделим основные преимущества и недостатки динамического управления памятью.

Преимущества:

· разумное использование динамических структур данных приводит к сокращению объёма памяти, необходимого для работы программы;

· динамические данные не требуют объявлений их как данных фиксированного размера;

· ряд алгоритмов более эффективен при реализации их с использованием динамических структур. Например, вставка элемента в статический массив на определенное место требует перемещения части элементов массива. При вставке в середину динамического списка достаточно несколько операторов присваивания.

Недостатки:

· алгоритмы для динамических структур обычно более сложны, трудны для отладки по сравнению с аналогичными для статических данных;

· использование динамических структур требует затрат на память для ссылок. В некоторых задачах объём памяти, отводимой для ссылок, превосходит объём памяти, выделяемой непосредственно для данных;

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

 








Дата добавления: 2015-02-16; просмотров: 525;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.