#pragma pack(1)
#pragma pack(push) ///保存对齐状态
#pragma pack(1) //设定为1字节对齐
typedef struct ProtocolV2
{
Unit8 uHead1; //包头1
Unit8 uHead2; //包头2
Unit8 uToken ; //令牌
Unit16 DataLen; //长度 2字节
Unit8 Para; //参数,1
char *DataP; //数据内容指针
Unit16 Crc16; //校验位2字节
};
#pragma pack(pop) //恢复对齐状态
ProtocolV2 *query = (struct ProtocolV2*)malloc(sizeof(ProtocolV2));//给结构体指针分配一块空间,同时指向该空间地址
query->DataP = (char *)malloc(512);//给成员变量指针分配内存空间并指向它 //下面是结构体赋初值
query->uHead2 = 0x5A;
query->uToken = 0x01;
query->DataLen = 0;
query->Para=0x01;
query->DataP = NULL; //指针为空
query->Crc16 = 0x6501;