C99 Keil MDK5中的匿名结构和联合
我正在努力使一大块数据更易于管理C99 Keil MDK5中的匿名结构和联合,c,structure,c99,unions,keil,C,Structure,C99,Unions,Keil,我正在努力使一大块数据更易于管理 #pragma anon_unions typedef union { uint8_t Contents[PACKET_SIZE]; struct { uint8_t Command; uint8_t X[24]; uint8_t Y[24]; uint8_t Z[16]; uint8_t s
#pragma anon_unions
typedef union
{
uint8_t Contents[PACKET_SIZE];
struct
{
uint8_t Command;
uint8_t X[24];
uint8_t Y[24];
uint8_t Z[16];
uint8_t something;
.
.
.
};
struct
{
uint8_t Command; // have to rename to dummy_Command to avoid compiler error
uint8_t A;
uint8_t B[6];
uint8_t C[48];
.
.
.
};
} PacketToFromFile;
有没有办法仍然使用相同的名称,例如“Command”而不出现任何编译器错误?也许
#pragma anon_unions
typedef union {
uint8_t Contents[PACKET_SIZE];
struct {
uint8_t Command;
union {
struct {
uint8_t X[24];
uint8_t Y[24];
uint8_t Z[16];
uint8_t something;
:
:
};
struct {
uint8_t A;
uint8_t B[6];
uint8_t C[48];
:
:
};
}
}
} PacketToFromFile;
我没有Keil编译器,但我认为它应该可以工作。它实际上比问题中的要复杂得多。但是你的回答给了我解决这个问题的想法。它起作用了。谢谢@SGeorgiades