而不是写一个像这样的结构,
typedef struct {
uint8 len; // Command length (cmd ... crc)
uint8 cmd; // Command code
uint8 data_length; // Data length
uint8 data[12]; // Data: max 12 Byte
uint8 crc_h; // CRC value MSB
uint8 crc_l; // CRC value LSB
}CMD_TYPE;
我可以这样写吗?
typedef struct { uint8 len, cmd, data_length, data[12], crc_h, crc_l; }CMD_TYPE;
如果有可能,那么为什么人们不将相似的成员分组?!内存分配方案会发生什么,除了内存丢失之外,改变成员的顺序是否有任何隐藏的副作用(如果我是对的,由于填充!)。
如果这看起来很愚蠢,请原谅我。