Здравствуйте, SQLBeginner, Вы писали:
SQL>Насчет указателя tmp (0x11FFF) — почему в эту область памяти писать можно?
То что не вылетел AV не значит что можно

. Просто это великий Undefined Behavior, иными словами — такой код может привести к чему угодно. И не надо строить никаких предположений — можно, нельзя, на стеке, не на стеке...
Если человеку ржавым ножом отрезать руку, то он тоже может умереть (от потери крови, от ужаса, от заражения крови или еще от чего...) а может и не умереть. Так и получается Ваш вопрос — "почему правую руку отрезать можно, а левую нет?". Вывод — не надо так делать.