Стек есть зарезервированный участок памяти на оперативно запоминающем устройстве?

Доброго времени суток. Стек есть зарезервированный участок памяти на оперативно запоминающем устройстве? А куча не резервирует?
И есть ли понятие "стека" и "кучи" не в компилируемых языках программирования?
  • Вопрос задан
  • 2247 просмотров
Пригласить эксперта
Ответы на вопрос 1
tsarevfs
@tsarevfs
C++ developer
Все зависит от языка, платформы и ОС.
Когда говорят о куче, обычно подразумевают динамическое выделение памяти. На старте приложение не резервирует память в куче, а делает это по мере необходимости.
Если вы пишите например на C++ под платформу x86, то память под стек (несколько мегабайт) резервируется в самом начале работы приложения и освобождается только при его завершении.
Для разных языков то как реализован стек может сильно отличаться, важно лишь то что это обязательная часть механизма работы функций. Именно через него передаются аргументы, возвращается результат. На нем могут создаваться локальные переменные для функций.
Интерпретируемые языки могут быть устроены сильно по разному. Но в большинстве случаев они ведут себя так, как будто у них есть стек и куча.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы