ユニオンに関する疑問があります。ランタイム時にcのユニオンメンバーを区別する方法
として定義されているとします。union emp{
float f;
int i;
};
どのユニオンフィールドが使用されているかを判断する方法はありますか?私はused.The機能が事前に
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);
}
おかげのようであり、私はint型のフィールドがある場合はfloatフィールドを使用して印刷されている場合int型フロートを印刷する必要がいる状況に遭遇しています。