Обращение к удалённой памяти ведёт к undefined behaviour. Так делать нельзя, может произойти что угодно. В том числе и вышенаписанное.
"В природе не существует инструмента, машины или устройства, по силе и виртуозности сравнимого с человеческой рукой."
В. Г. Бэнхэм.
---
Ваяю "нелинейный" клавиатурный тренажёр для GNU/Linux - nlkt.
Обращение к удалённой памяти ведёт к undefined behaviour. Так делать нельзя, может произойти что угодно. В том числе и вышенаписанное.
Я знаю что нельзя, и так делать не собираюсь. Мой пример не более чем эксперимент. И после очищения я почему то ожидал, что произойдет тоже что и со строками.
Все это я делаю что бы разобраться что же происходит. И почему.
Вы структуру побольше размером сделайте - и тоже, что и со строками получится, думаю Дело тут, скорее всего, в CRT (с run-time) и том, как оно (malloc и прочее, работающее с кучей) реально выделяет память.