Возможный дубликат:
Что и где находится стек и куча?
Что касается основных концепций макета памяти в программе c, я понимаю следующее:
- Язык использует две первичные структуры данных стек и куча.
- Создан стек для хранения локальных переменных и хранения данных подпрограмм
- Куча создана для хранения динамически распределенных переменных программы
- Куча имеет переменную длину в природе. (Не очень уверен в стеке)
- Обычно компилятор/язык несет ответственность за запрос ОС на создание этих структур данных до выполнения.
Вопросы
- Каков первоначальный размер, с которым создается стек/куча? и кто его решает?
- В какой физической памяти они созданы? Я вижу общее описание как "Стек создан в верхнем уровне-адресе и куче на низкоуровневом адресе" . Пожалуйста, объясните это