注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
鸡蛋壳杂货铺的个人空间 https://home.eeworld.com.cn/space-uid-1016722.html [收藏] [复制] [分享] [RSS]
日志

共用体、结构体的巧妙使用

已有 406 次阅读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*BITAD_RESULT_HI+8*BITAD_RESULT_LO);第二个变量:16*BITAD_RESULT 其中这个结构体包含:8*BITAD_RESULT_HI8*BITAD_RESULT_LO,然后,编译器会给这两个寄存器分配RAM地址,比如可能分配:AD_RESULT_HI0x32AD_RESULT_LO0x33或者AD_RESULT_LO0x32AD_RESULT_HI0x33;发现这两种分配的区别,知道编译器分配地址的规则; 然后第二个变量是一个16*BITAD_RESULT地址就是第一个结构体变量编译器给的RAM地址; 作用就是实现:16*BITAD_RESULT=8*BITAD_RESULT_HI+8*BITAD_RESULT_LO

本文来自论坛,点击查看完整帖子内容。

全部作者的其他最新日志
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章