注册
登录
电子工程世界-论坛
返回首页
EEWORLD首页
频道
EE大学堂
下载中心
Datasheet
专题
单片机
物联网
汽车电子
嵌入式
手机/便携
模拟电子
家用电子
网络通信
电源管理
工业控制
测试测量
半导体设计/制造
安防电子
传感器
医疗电子
鸡蛋壳杂货铺的个人空间
https://home.eeworld.com.cn/space-uid-1016722.html
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
借用开发板
论坛
淘帖
Collection
查看新帖
最新回复
社区活动
联系管理员
我的空间
帖子
日志
收藏
好友
勋章
积分
安全验证
请完成以下验证码
日志
共用体、结构体的巧妙使用
已有 410 次阅读
2018-8-27 10:09
|
个人分类:
C语言技巧
///////////////////////////////////////////
//
共用体中嵌套定义结构体
///////////////////////////////////////////
union
_AD_Union_RESULT_
{
struct
_AD_Struct_RESULT_
{
unsigned char
AD_RESULT_LO;
unsigned char
AD_RESULT_HI;
}AD_SHORT_BUF;
unsigned long
AD_RESULT;
}AD_LONG_BUF;
///////////////////////////////////////////
这段代码的意思是:定义一个共用体,这个共用体里面有两个变量,第一个变量是用结构体声明的一个变量:
AD_SHORT_BUF
(包含
8*BIT
:
AD_RESULT_HI
+8*BIT
:
AD_RESULT_LO
);第二个变量:
16*BIT
:
AD_RESULT
;
其中这个结构体包含:8*BIT
:
AD_RESULT_HI
和
8*BIT
:
AD_RESULT_LO
,然后,编译器会给这两个寄存器分配
RAM
地址,比如可能分配:
AD_RESULT_HI
:
0x32
;
AD_RESULT_LO
:
0x33
;
或者
AD_RESULT_LO
:
0x32
;
AD_RESULT_HI
:
0x33
;发现这两种分配的区别,知道编译器分配地址的规则;
然后第二个变量是一个16*BIT
:
AD_RESULT
;
地址就是第一个结构体变量编译器给的
RAM
地址;
作用就是实现:16*BIT
:
AD_RESULT=
8*BIT
:
AD_RESULT_HI+
8*BIT
:
AD_RESULT_LO
;
本文来自论坛,点击查看完整帖子内容。
收藏
邀请
举报
全部
作者的其他最新日志
•
switch用法
评论 (
0
个评论)
涂鸦板
您需要登录后才可以评论
登录
|
注册
评论
鸡蛋壳杂货铺
加为好友
给我留言
打个招呼
发送消息
热门文章
头条资讯
爆火的深度学习面试书现可白嫖!GitHub上线2周1.5K Star,之前售价146元
韩媒:韩国计划加大对系统半导体等关键未来技术的研发投资
什么是RFID?
【世说设计】典型碳化硅功率模块的二三事
做好新年计划,2021年一起践行做更好的你我!
高通推出面向两轮车及新型车辆的骁龙数字底盘解决方案,推动汽车产品组合多样化
新增数据手册
MCH182CN103LK
O13.0-JT32V-Z-F-3.3
SIT2020BM-S2-18N-19.200000E
RC0603JRF133K9
10121750-2432242LF
1812A2000161JCB
热搜器件
ECQ-E2274KF
1N6273A-E3/51
FMS6151L6X_F085
GCG188R92A123KA01D
MCR006YZPJ204
51338-0274
推荐下载
sew变频器中文资料
8960英文版
数据结构_严蔚敏
Linux 完全命令手册
针对GJB181过压浪涌要求的保护电路设计
LME49830,pdf datasheet (Mono High Fidelity 200 Volt MOSFET Power Amplifier)
推荐关注
电池插入检测电路
过孔的设计孔径是真的很重要,但高速先生也是真的不关心
本地匿名化解决方案:隐私保护、自主掌控和高效运行!
移动式电子汽车衡行业数据分析报告2025
嵌入式工程师AI挑战营RV1106人脸识别+retinaface/Yolov5识别效果[视频]
不是!让高速先生给个过孔优化方案就那么难吗?