переменные функции, которые находятся в стеке живут только во время исполнения этой самой функции. после её завершения указатель стека прибавляется так, чтобы вернуться в состояние до вызова
Вот смотрите, если я вызываю функцию, то его переменные будут находиться в стеке, а что с переменными старой функции?
У тебя внутри функции (если она не голая) создаётся стековый фрейм - обычно пушат rbp, далее записывают в него rsp, от которого в свою очередь отнимают количество занимаемого переменными места кратное 16, т.е. твои переменные в функции будут располагаться от rsp - 16 * k до rsp, в конце функции же в rsp помещается rbp, а сам rbp поднимается со стека.
Обсуждают сегодня