我认为它可能被称为文字?
enum packet_structures{
PacketOne,
PacketTwo,
PacketThree
};
struct PacketOne{
unsigned int packet_id;
};
struct PacketTwo{
unsigned int packet_id;
};
struct PacketThree{
unsigned int packet_id;
};
让我说我有一个通用数据包。
struct PacketGeneral{
packet_structures TypeOfPacket;
};
PacketGeneral newPacket;
newPacket.TypeOfPacket = PacketOne;
我可以直接使用该枚举的名称将char *类型转换为结构(即PacketOne)吗?在不必使用(struct PacketOne)进行类型转换的情况下,我如何只使用枚举newPacket.TypeOfPacket对类似的结构进行类型转换?
答案 0 :(得分:2)
不,你不能。枚举用于存储文字,而不是标识符。
答案 1 :(得分:-1)
不,至少不在C
。
enum
声明/定义常量标识符。
因此,您不能再使用那些相同的标识符作为结构标记名称。
您可以通过编译包含这些声明/定义的程序来检查。