请教如何将结构体成员对齐及赋值给数组

2020-01-15 19:26发布

编译器:Keil5
硬件:STC89C52

如下的一个结构体:


typedef struct
{
    uint8_t  head0;
    uint8_t  head1;
    uint8_t  cmdtype;
    uint8_t  datalenth;
    uint8_t  data[MAX_DATA_SIZE];
    uint8_t  datasum;
} sCMD_t;


如何对齐,赋值后,把它的值赋值给数组cmdbuff[MAX_DATA_SIZE+5]
通过  uint16_t sendcmd(uint8_t *p,uint16_t lenth ) 发送出去
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
huangqi412
1楼-- · 2020-01-16 22:54
int8_t  data[MAX_DATA_SIZE];  桢是不定长  可能浪费
dwiller_ARM
2楼-- · 2020-01-16 23:36
6楼说的有道理,8位的51本来就是按字节对齐的, ARM x86等32位的要对齐可以使用#pragma pack(n), 好像GNC编译器用__align也可

一周热门 更多>