野中です。 理屈ではそうなんでしょうねって・・・・なんか すっきりこないです。 > *((volatile _WORD *)0x20000 + 2)=0x1234; この場合 0x20000はキャストされてるからアドレス だけど、2ってのは、どう評価されちゃうわけですか? +4バイトってどこで評価しているのでしょう。 2が_WORD型のディスプレースメントだというのが、0x20000のキャスト によりわかるわけなのでしょうか? *(0x20000 + (volatile _WORD *)2)=0x1234; とは、参照するアドレスは違いますよね。それとも同じですか? もし、違うならa[b] => b[a] なのがわからないです。 やっぱ、頭が固いですね。 −−−−−−−−−− 野中