查看: 2360|回复: 3

[已解决] 【求助】共用体输出错误,求解释!!(已解决)

[复制链接]

该用户从未签到

6

主题

24

帖子

0

新手上路

Rank: 1

积分
46
最后登录
1970-1-1
发表于 2013-7-6 09:45:18 | 显示全部楼层 |阅读模式
typedef union _fifoDataUnion{
 unsigned short    shortData[8];
 unsigned long long  longData[2];
} fifoDataUnion;
fifoDataUnion fifoData;
fifoData.longData[0]=0;
fifoData.longData[1]=0;
 
  fifoData.shortData[0]=0x34;
 result=0x34;
  printf("result = 0x%x ",result); 
  printf("fifoData.longData[0] = 0x%x ",fifoData.longData[0]); 
 printf("fifoData.longData[1] = 0x%x ",fifoData.longData[1]); 
result:
result = 0x34
fifoData.longData[0] = 0x20
fifoData.longData[1] = 0x20
我知道答案 目前已有2人回答
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-7-6 10:11:17 | 显示全部楼层

    RE:【求助】共用体输出错误,求解释!!

    因为你用的是联合,也就是shortdata和longdata用的是同一个空间,当你对shortdata赋值的时候,longdata也随着变化了。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    24

    帖子

    0

    新手上路

    Rank: 1

    积分
    46
    最后登录
    1970-1-1
     楼主| 发表于 2013-7-6 21:46:48 | 显示全部楼层

    RE:【求助】共用体输出错误,求解释!!

    变化当然是对的,这也是我需要的啊。
    问题是变化的结果不是我期望的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2013-7-8 15:01:15 | 显示全部楼层

    回复:【求助】共用体输出错误,求解释!!(正解)

    经过我在win7 32位操作系统CW10.4编译环境以及FRDM-KL25Z硬件平台测试。
    debug时你可以看到fifoData.longData[0]的值的确是0x34,但经过printf输出我得到的结果和你一样。
    我还测试了像uint这种32位及以下的数据,经过printf都能输出正确结果。
    typedef union _fifoDataUnion{
     unsigned short    shortData[8];
     unsigned long long  longData[2];
     unsigned int        intData[4];
    } fifoDataUnion;
     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 04:43 , Processed in 0.089730 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表