次のような構造を書く代わりに、
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;
可能であれば、なぜ人々は同じようなメンバーをグループ化しないのですか?!メモリ割り当てスキームはどうなりますか?また、メモリ損失以外のメンバーの順序を変更することによる隠れた副作用があります(私が正しい場合はパディングが原因です!)。
これがとてもばかげているように思われるなら、私を許してください。