В Windows стек растет от больших адресов к меньшим. Иногда это определяется архитектурно, а иногда это просто принятое соглашение. Значение указателя стека (регистр процессора), является указателем на значение в верхней части стека. А значения, расположенные глубже по стеку, соответственно, находятся по большим адресам. Но что происходит с данными, которые расположены по адресам, меньшим, чем указатель стека?
![[The Old New Thing] Могу ли я использовать свой стек как угодно? - 1 [The Old New Thing] Могу ли я использовать свой стек как угодно? - 1](https://www.pvsm.ru/images/2019/01/14/The-Old-New-Thing-mogu-li-ya-ispolzovat-svoi-stek-kak-ugodno.png)
Соглашения для некоторых (но не для всех) архитектур определяют красную зону, которая является областью памяти под указателем стека, но которая по-прежнему валидна для использования приложением.
