我对工会有疑问。假设有一个联合定义为
union emp{
float f;
int i;
};
有没有办法确定使用哪个联合字段。我遇到过一种情况,如果使用 float 字段,则必须打印 float,如果使用 int 字段,则必须打印 int。函数可能类似于
void print(union u){
// if float field is initialized
printf("float field = %f\n",u.f);
// if int field is initialized
printf("int field = %d\n",u.i);
}
提前致谢。