没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Union 定义变量进行外部调用的方法
一、 现象:
首先在文件 1.c 对应的头文件 1.h 中有
union _uintbyte
{
UINT16 _uint;
UINT8 _uchar[2];
} Angle;
如果想在文件 2.c 中调用变量 Angle 就必须用到变量的外部调用,也就是想到用 extern 。
然而,在文件 2.c 对应的头文件 2.h 中这样写:
extern _uintbyte Angle;编译通不过。
extern union _uintbyte
{
UINT16 _uint;
UINT8 _uchar[2];
} Angle; 同样编译通不过。
二、 原因:
extern 后面必须跟数据类型,使用共用体名称(如_uintbyte)是无效的。
三、 解决方法:
将 union _uintbyte 使用 typedef 进行类型定义,即:
在头文件 3.h 中定义:
typedef union _uintbyte
{
UINT16 _uint;
UINT8 _uchar[2];
};
在文件 1.c 中引用 3.h,在 1.c 对应的头文件 1.h 中:
_uintbyte Angle;
那么在文件 2.c 中也引用 3.h,在 2.c 对应头文件 2.h 中:
extern _uintbyte Angle;
编译通过!!!!
这种方法不好,可以按照以下进行改变:
定义一个“uniontype.h”的头文件
其中定义:
资源评论
shushandaren
- 粉丝: 20
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- yolov5,SSD 可能使用到的一些代码
- 介绍离散性制造行业的MES系统流程
- 基于IDEA-CCNL/Randeng-Pegasus-238M-Summary-Chines微调的中文文本摘要任务源码+数据集
- 微信小程序源码 车源宝 二手车交易平台 源码下载
- 微信小程序源码 实现 城市切换 demo 根据城市首字母排序城市 选择城市 源码下载
- 2024新版计算机编译原理期末速成全套视频教程(视频+配套资料)
- VMware7.0虚拟机硬盘无法编辑,无法连接到Profile-Driven Storage Service
- arm64内核的mongo镜像
- 基于stm32f103c单片机+MPU6050+0.96英寸OLED显示屏双柄遥控器硬件(原理图+PCB)工程文件.zip
- 整理的关于少儿编程的学习路径,以及如何在小升初,初升高和大学充分的利用起来编程经验的优势
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功