Цитата(HEX @ Jul 22 2009, 11:34)

Ptr = (unsigned char*)(&B);
*Ptr = 13; //B = 13
...
Так и должно быть?
Явное преобразование типов указателей - это всегда очень опасная операция с возможно непредсказуемыми побочными эффектами. Ответственность за правильный результат лежит целиком на программисте, который должен понимать что делает. Компилятор же больше ни за что не отвечает. Если Вы не понимаете что хотите сделать и как будет результат интерпретирован - зачем пользуетесь такой опасной операцией? Взяли спички в руки, поигрались и удивляетесь, откуда пожар...
Пишите в личку.