労働組合について疑問があります。次のように定義された共用体があるとします。
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);
}
前もって感謝します。