现有有一要求: 结构体前面成员决定后面成员的有无,即结构体长度是可伸缩的 比如 typedef struct a { UINT8 b; UINT8 c; UINT8 d; UINT8 e; UINT16 f; UINT8 g; }; 这里成员变量 b中bit 3 决定成员变量d 的有无, 我不可能写成 typedef struct a { UINT8 b; UINT8 c; #if (b&0x08 == 0x08) UINT8 d; #endif UINT8 e; UINT16 f; UINT8 g; }; 有啥的好法子? |