C中的并集的实际用法

可能重复:
C:联合实际使用在哪里?

我知道union的概念,但我没有看到真实世界编码的实际情况,我应该使用union数据结构。 如果你们能给我一些示例或教程来展示使用union正确的案例,我将非常感激。

提前致谢。

我经常使用它:解析配置文件我将所有值存储在union数据类型中。 例如,当值可以是int类型或字符串时,我将使用如下数据结构:

struct cval_s { short type; union { int ival; char *cval; } val; }; 

在更复杂的问题中,我也使用它们。 例如,一旦我为一种简单的脚本语言编写了解释器,并且该语言中的值由包含union的结构表示。

想象一下,有一个struct保存一个值和该值的类型。 当类型设置为特定类型时,您只需要使用联合的一个成员而不是在同时仅使用一个时浪费空间。

 struct { int type; union { int intval; double dval; char cval; } value; }