你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

请教一个C语言结构体的赋值问题。

[复制链接]
vention123456 提问时间:2017-10-18 20:57 /
阅读主题, 点击返回1楼
收藏 评论14 发布时间:2017-10-18 20:57
14个回答
张亚飞 回答时间:2017-10-19 14:32:52
先一字节对齐,把新增的放在最下边,memcpy
vention123456 回答时间:2017-10-19 18:25:03
张亚飞 发表于 2017-10-19 14:32
先一字节对齐,把新增的放在最下边,memcpy

问题就是不能把多出的放最下面;多出的是中间插入的。
vention123456 回答时间:2017-10-19 18:25:46
uzslm 发表于 2017-10-18 22:46
union 是个很好的办法,但你多出来那个成员最好在底部;
而且这涉及到成员对齐问题,可以看看用 pack预编译 ...

问题就是不能把多出的放最下面;多出的是中间插入的。
张亚飞 回答时间:2017-10-20 09:47:20
vention123456 发表于 2017-10-19 18:25
问题就是不能把多出的放最下面;多出的是中间插入的。

union 其实就是占用同一块内存,在共用体里边定义一个与结构体等长的char数组,数组里边每个字节对应结构体从上到下的字节。按照结构体里边每个元素的字节数从stOne赋值值stTwo。
owenqll 回答时间:2017-10-20 11:26:46
个人觉得可以用指针强制类型转换,大致思路如下
先定义两个结构体指针,分别指向两个结构体的首地址;
再强制将两个指针转换为uint8类型
用for循环逐个读取并幅值
=========
个人愚见,勿拍砖
12

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版