数组直接赋值给结构体 |
您所在的位置:网站首页 › 结构体里面的数组如何赋值 › 数组直接赋值给结构体 |
经过几天的努力 ,终于把数组 赋值给结构体,
#pragma pack(push) //保存原对齐并设置新的字节对齐 #pragma pack(1) typedef struct __TNetTopologyRecord { BYTE TotalPackNum; //总包数 BYTE CurrentPackNum; //当前包号 BYTE ExtID; //预留字节,暂时为零[LongID->5] WORD MarkID; //标识ID,固定为0xbebe[LongID->7-6] }NetTopologyRecord,*PNetTopologyRecord; #pragma pack(pop) //恢复原字节对齐方式
BYTE byll[8] = {65,66,67,68,69,70,71,72}; PNetTopologyRecord pNet; pNet = (PNetTopologyRecord)(byll+2);
这样就避免了不同字节间赋值,关健是 #pragma pack(1)和pragma pack(pop) 这两句,把内存字节对齐,这样不会因为结构体中有BYTE和WORD字节,没法直接赋值了 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |