我知道union的概念,但我没有看到真实世界编码的实际情况,我应该使用union数据结构。如果你们能给我一些示例或教程来展示使用union的案例,我将非常感激。
提前致谢。
答案 0 :(得分:3)
想象一下,struct
保持一个值和该值的类型。当类型设置为特定类型时,您只需要使用union
的其中一个成员,而不是在同时使用其中三个时浪费空间。
struct {
int type;
union {
int intval;
double dval;
char cval;
} value;
}
答案 1 :(得分:2)
我经常使用它:解析配置文件我将所有值存储在union数据类型中。例如。当值可以是int类型或字符串时,我会使用如下数据结构:
struct cval_s {
short type;
union {
int ival;
char *cval;
} val;
};
在更复杂的问题中,我也使用它们。例如。一旦我为一种简单的脚本语言编写了一个解释器,并且该语言的值由包含union的结构表示。