Цитата(ViKo @ Feb 22 2011, 14:02)

Скорее всего, для инициализации того, что выделено из кучи, используется стек.
Вообще не представляю как это возможно!
У Вас есть указатель стека, который перемещается каждый раз при вызове продпрограмм. По этому указателю записываются адреса возвратов, локальные переменные и т.д.
И вот в какой-то момент одна из функций запрашивает кусочек памяти. Указатель сдвигается, т.к. следующий оператор, допустим вызов еще какой-нибудь функции... Пока все нормально. Потом, допустим, вы возвращаемся из нескольких вложенных функций, но при этом кусок памяти не отдаем системе. Он все еще нам нужен! Потом опяит следуют вызовы, которые приближают указатель стека к началу нашего выделенного участка памяти... Вы понимаете проблему? Кто-то же должен сказать стеку "Э-э, парень! Стоп! Дальше идет выделенный кусок памяти, ну-ка прыгай вверх на 512 байт"