论坛元老
 
- 积分
- 6662
- 金钱
- 6662
- 注册时间
- 2016-5-29
- 在线时间
- 910 小时
|
发表于 2017-3-19 11:21:38
|
显示全部楼层
本帖最后由 操作系统 于 2017-3-19 12:05 编辑
#define BYTE0(dwTemp) (*(char *)(&dwTemp))
#define BYTE1(dwTemp) (*((char *)(&dwTemp) + 1))
#define BYTE2(dwTemp) (*((char *)(&dwTemp) + 2))
#define BYTE3(dwTemp) (*((char *)(&dwTemp) + 3))
BYTE0(dwTemp) 取出指针dwTemp指向的内容的第0个字节
BYTE1(dwTemp) 取出指针dwTemp指向的内容的第1个字节
BYTE2(dwTemp) 取出指针dwTemp指向的内容的第2个字节
BYTE3(dwTemp) 取出指针dwTemp指向的内容的第3个字节
typedef union {unsigned char byte[4];float num;}t_floattobyte; // 定义一个新的类型 t_floattobyte
t_floattobyte floattobyte; //声明一个变量,类型是t_floattobyte
typedef 定义新的 数量类型就用它了.也可以理解为别名.为一个数据类型另起一外别名.
C语言在这种情况表达方式太复杂了.取地址,强制转换,再读内容.我也感觉好麻烦.. |
|