Куча (Heap) - это область памяти, используемая для динамического выделения, где порядок доступа к данным не имеет фиксированной структуры.
Основные характеристики:
- Динамическое выделение памяти: Память выделяется (malloc/new) и освобождается (free/delete) во время выполнения программы.
- Отсутствие строгой структуры: Данные расположены произвольно, нет линейной организации как в стеке.
- Время доступа: Время доступа к элементам может варьироваться, так как зависит от расположения элемента и необходимости поиска.
- Управление памятью: Требует явного управления памятью (ручное или сборщик мусора) для предотвращения утечек или повреждений.
- Используется для: Объектов, массивов и других данных, чьи размеры неизвестны на этапе компиляции или которые должны существовать дольше, чем текущая функция или блок кода.