【发布时间】:2017-01-24 11:54:42
【问题描述】:
我必须制作一棵树,它在除叶子之外的所有节点中都有一种类型的值,我不知道该怎么做,甚至可能。例如。所有节点中的 int,但叶子中的 char。我是编程新手,非常感谢您的帮助。谢谢
【问题讨论】:
-
google
union关键字。然后谷歌标记了工会。 -
我不会那样做的。你为什么要这样做?
char比int更小int,所以让它们都为int是可以的。如果您坚持,请使用union {int i; char c;} data;。如果你的意思是一个 string 那么这样做可能更合乎逻辑,但仍然不是你真正必须做的事情。因为您知道哪些节点属于哪些类型,所以您似乎真的根本不需要union或任何通用数据类型。 -
@IharobAlAsimi 我只是举了一个例子,它比 int 和 char 更复杂,我正在为索引顺序数据组织创建索引树,我有两种结构,一种用于叶子,一种用于其余因为叶子包含指向另一个结构列表的指针...
-
在这种情况下使用
void *指针并转换为正确的类型。但我仍然怀疑您使用了错误的技术(可能是从另一种编程语言借来的)。泛型类型不是 c 的用途,虽然你可以做到,但你也需要有很多经验。