掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
unionの使い方 (ID:62581)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
またまた、お世話になります。 先日、アセンブラのレジスタ動作を模倣する件で 32ビットレジスタは union REG{ WORD x; struct{ BYTE l,h;; }; }; で、一括扱えることを教えていただきました。 コードを進めていくうちに、EAXなどの64ビットレジスタが、どしても必要になりました。 そこで、試しに union REG{ DWORD e; struct{ WORD x; sturct{ BYTE l,h; }; WORD xh; struct{ BYTE lh,hh; }; }; }; と書いて見たんですが、lh、hhにしか値が入りませんでした。 union REGS{ WORD x; struct{ BYTE l,h;; }; }; union REG{ DWORD e; struct{ REGS l,h;; }; }; のように宣言してやれば REG rega; rega.l.l = 0X01; といった使い方はできるんですが、.を打つのがとても面倒です。 DWORD E |- WORD XH |- WORD X |- BYTE H |- BYTE L このような共用体を、簡単に作る方法はないでしょうか? XHはBYTE単位になる必要は無いと思っています。 よろしく、お願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.