类型代码可能出现的一种情况是在 C 语言中的 union
类型中:
typedef enum Type { T_INT, T_FLOAT, T_DOUBLE, T_LONG } Type;
typedef struct Datum
{
Type type;
union
{
int i;
float f;
long l;
double d;
} u;
} Datum;
Datum v;
switch (v.type)
{
case T_INT:
int_processing(v.u.i);
break;
case T_FLOAT:
float_processing(v.u.f);
break;
case T_DOUBLE:
double_processing(v.u.d);
break;
}