>>962

うぅ、、、、、これは俺が試されているんだろう。
ここでしくじったら、二度と質問に答えてもらえないかも
#プレッシャー!!!

ということで、猿なので一度にはわかりませんので
順を追って考えさしてください。

char c; 値(1バイト)が格納される
int i;    値(4バイト)が格納される
char *cp= &c; 変数cの値が格納されているアドレスを*cpに代入  //かなり理解があやしいぃ。。。

で、

*cp = i; 4バイト分の値(i)を、変数cpが示す先のアドレスへ入れる。
変数cpは&cが代入されているから、1バイト分のアドレス領域
>>メモリ破壊
*(int *)cp = i; アドレスcpが指し示す先には4バイト分のデータ領域があるとコンパイラに、
無理矢理信じ込ませる。→cpをint *でキャストしているので
で、そのアドレスが指し示す先に4バイト分の値(i)を代入
でも実際は1バイト分(&c)しかない。
>>メモリ破壊

下側は何となくこれで良いような気がしますです。
上は・・・・・????
くぅ、こんなにメモリの事を考えてコード読んだのはじめてっす。
この1文書くのに1時間かかりました。
必死に考えました、マジで悔しいっす。
お願いみしゅてないでぇ〜〜〜〜(T_T)