Новое видео

Разберёмся что такое Stack и Heap: Стек это участок памяти предназначенный для статического распределения в ходе выполнения программы. При вызове функции локальные переменные и данные о вызове размещаются на вершине стека. После завершения работы функции эта информация автоматически удаляется освобождая память. Куча Heap это участок памяти предназначенный для динамического распределения. Данные размещенные в куче могут существовать дольше времени выполнения отдельных функций поскольку управление выделением и освобождением памяти осуществляется вручную. Это делает кучу полезной при работе с большими данными или в сценариях где данные должны сохраняться на протяжении долгого времени выполнения программы. Основные различия между стеком и кучей: Выделение памяти: в стеке система выделяет память автоматически а в куче пользователь должен выделять память вручную. Структура: в стеке память выделяется в виде непрерывного блока принцип LIFO а в куче блоки памяти могут выделяться и освобождаться в любой момент времени. Скорость доступа: в стеке доступ быстрее за счёт подхода LIFO а в куче медленнее из-за ручного поиска и управления блоками. Ограничение размера: у стека заранее определённый и фиксированный размер ограниченный параметрами ОС а у кучи больший изменяемый размер. Доступность: стек привязан к стеку вызовов а куча доступна глобально то есть к ней можно обращаться и её можно изменять из любой части кода.,
Присоединяйтесь к обсуждению
Новое видео