打印
[PIC®/AVR®/dsPIC®产品]

今天看程序看到这么一句代码,有点凌乱 ,这是什么意思

[复制链接]
1674|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
on_my_work|  楼主 | 2014-10-22 17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 on_my_work 于 2014-10-22 17:22 编辑

ulong Tmp;
((uchar*)&Tmp)[3]= AlarmType;

这个是字节数组,已解决。
沙发
lanmp| | 2014-10-23 13:39 | 只看该作者
这程序写得奇怪,难道直接写成数组开销大么

使用特权

评论回复
板凳
Light_David| | 2014-10-25 00:25 | 只看该作者
直接写成数组以后,那么Tmp不就不好用了,如果它还要参与ulong类型的运算肿么办,对不对

使用特权

评论回复
地板
949155525| | 2014-10-25 08:40 | 只看该作者
解决了大小端以及高地位切换问题,但最完美的是用共用体结构。

使用特权

评论回复
5
on_my_work|  楼主 | 2014-12-2 15:23 | 只看该作者
这个是数据传输时用的,还有几个量整合在一起发送

使用特权

评论回复
6
shuidi_wangdan| | 2014-12-5 16:27 | 只看该作者
可否详细解释一下它的原理?

使用特权

评论回复
7
on_my_work|  楼主 | 2014-12-9 17:30 | 只看该作者
shuidi_wangdan 发表于 2014-12-5 16:27
可否详细解释一下它的原理?

长整形有四个字节  AlarmType是字符型数据。 因此,在这里Tmp可以作为一个包含四个字符的数组。

使用特权

评论回复
8
ak64| | 2014-12-9 21:57 | 只看该作者
ulong Tmp;
((uchar*)&Tmp)[3]= AlarmType;
//
uchar Tmp[200];
内存地址,一个UNSIGNED CHAR 类型的数组指针,对他赋值alarmType
相当于  TMP[3]=AlarmType

使用特权

评论回复
9
liu0000feng| | 2015-4-23 17:04 | 只看该作者
不懂啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝