您好我正在寻找一个包含多个结构和多个结构的联合。下面是我想要实现的一个简短例子。
创建联盟宇宙,其中星系和行星是结构......
union UNIVERSE{
struct galaxy milkway;
struct planet earth;
struct planet mars;
struct planet venus;
int mega;
}
答案 0 :(得分:3)
你已经大致完成了你想要的东西,但我要提醒你,你似乎想做的事情没有多大意义。
特别是地球,火星和金星看起来很像它们应该是一种类型的实例。 union定义了一个类型,所以你可能需要像
这样的东西typedef union {
galaxy g;
star s;
planet p;
nebula n;
} celestial_object;
个别星系,行星,恒星等将是该联盟的实例。然后你可以(例如):
#define max_objects 1000000
celestial_object universe[max_objects];
celestial_object earth;
earth.p.mass = 24;
earth.p.diameter = 12756;
celestial_object sun;
sun.s.mass = 30;
sun.s.diameter = 1400000;
......等等。