#define BYTE0(dwTemp) (*(char *)(&dwTemp))
#define BYTE1(dwTemp) (*((char *)(&dwTemp) + 1))
#define BYTE2(dwTemp) (*((char *)(&dwTemp) + 2))
#define BYTE3(dwTemp) (*((char *)(&dwTemp) + 3))
关键是#define BYTE0(dwTemp) (*(char *)(&dwTemp))的意义:
先取dwTemp的地址,然后强制转换为单字节类型,然后从地址上取数,
所以你可以当这个数是8字节的,然后定义
#define BYTE4(dwTemp) (*((char *)(&dwTemp)+4))
#define BYTE5(dwTemp) (*((char *)(&dwTemp)+5))。