для небольших структур - копированием из какого-то образца.
Это хоть накладно по затратам но иногда целесообразнее,т.к. гибче чем тупое обнуление memset'ом. Например мажоритар из 3-х структур делать -все равно копированием.
#include <string.h>
#define DATA_LENGTH_MAX 5
#pragma pack(1)
typedef struct
{
unsigned char Address;
unsigned char Length;
unsigned char Cmd;
unsigned char Data[DATA_LENGTH_MAX];
unsigned char CRC_H;
unsigned char CRC_L;
}Response;
#pragma pack()
Response Apollo_Response;
Response Sample={1,2,3,{4,5,6,7,8},9,10};
C_task main( void )
{
memset(&Apollo_Response,0x55,sizeof( Apollo_Response) );
printf("memset=%02x\n", Apollo_Response.Cmd); //0x55
Apollo_Response = Sample;
printf("copy=%02x", Apollo_Response.Cmd); //0x03
}