【初心者歓迎】C/C++室 Ver.27【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0178デフォルトの名無しさん
2006/05/13(土) 05:33:30のメンバへの振り分けをしてるようなのですが
なんとなくでしか理解出来ないです。
どなたか教えていただけないでしょうか
typedef struct tagPOINTS
{
SHORT x;
SHORT y;
} POINTS,
#define MAKEPOINTS(l) (*((POINTS FAR *)&(l)))
上記のMAKEPOINTS(l)というマクロでマウスの現在のx軸y軸をPOINTS構造体
に振り分けてるようなのですが、どうやって振り分けてるのかがわかりません
FAR = farポインタを使ってるので上位と下位のビットでそれぞれに振り分けてるのだろう
とおもっていますが、例えば
POINTS start
start = MAKEPOINTS(0x000f000fL) として
start.xとstart.yは共に15という数字になります。
用は(*((POINTS FAR *)&(l)))の展開のされ方がさっぱりわかりません。
マクロ関数は少しだけなら理解してるつもりですが、このような式を理解
出来るレベルじゃないので、どなたか分かられる人、ご教授願いたいです。
■ このスレッドは過去ログ倉庫に格納されています