[求助] (WORD)&这个语法是什么意思?

不足论   2018-5-27 17:28 楼主
(WORD)&DeviceDscr中,这个(WORD)&语法是什么意思?
4.jpg
DeviceDscr的描述如上所示,(WORD)&是取地址?可是这个结构体有13行,取哪一个呢?
3.jpg
if ((WORD)&DeviceDscr & 0xC000)这个判断如何理解?
(WORD)&理解不透彻,这2处我都看不懂,望大神指点



回复评论 (6)

是起始地址呀,(word)是类型转换
点赞  2018-5-27 18:00
引用: huo_hu 发表于 2018-5-27 18:00
是起始地址呀,(word)是类型转换

if ((WORD)&DeviceDscr & 0xC000)
这段话如何理解呢?
4.jpg
代码中DSCR_DEVICE_LEN为18,那就是0x0012(十进制18)与0xC000相与做判断?
点赞  2018-5-27 18:44
我既然也不知道
点赞  2018-5-27 20:04
一定要加word可能和单片机型号有关,你用的啥单片机啊
点赞  2018-5-27 21:13
引用: 不足论 发表于 2018-5-27 18:44
if ((WORD)&DeviceDscr & 0xC000)
这段话如何理解呢?

代码中DSCR_DEVICE_LEN为18,那就是0x0012(十 ...

那个是判断地址的,跟内容无关,跟DSCR_DEVICE_LEN是多少值无关
点赞  2018-5-27 22:28
取DeviceDscr的地址,把取得的指针强转为指向word长度的指针,然后和0xC000与计算,然后判断与计算之后的结果是否为0。基本上就是判断DeviceDscr这个变量的地址的14 15bit位是否为0,不为0就跳进if
点赞  2018-5-28 08:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复