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

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条回答
weichao4808335
1楼-- · 2020-01-15 23:14
unionunionunionunionunionunionunionunionunionunionunion
lusson
2楼-- · 2020-01-16 03:56
#pragma pack(1)
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;
#pragma pack()
zcllom
3楼-- · 2020-01-16 06:06
难道没有结构体数组这个东西可以用?
重庆酱油仔
4楼-- · 2020-01-16 11:48
可以直接把指针指到head0,不用再cmdbuff里去缓存。
huangqi412
5楼-- · 2020-01-16 13:22
 精彩回答 2  元偷偷看……
miscell
6楼-- · 2020-01-16 17:26
直接指针操作

一周热门 更多>