如果我有一棵树,并且我需要在该树中找到一个基本上为空的特定节点(该结构尚未初始化/分配)。
如果我想返回那个非常具体的未初始化结构位置以便能够初始化它,会是这样的:
if (parentNode->childNode == NULL)
return parentNode->childNode;
工作?或者它会返回NULL?我需要返回父节点吗?
我遇到的问题是这个特定节点可能是多个不同结构类型的子节点。我不知道如何在 C 中克服这个问题,因为它不支持泛型。有人有什么想法吗?
最佳答案
不能返回 NULL。它不会是一个可识别的位置。
但是你可以做的是:
malloc
找到它的节点并返回 malloc 返回的指针,- 你可以
返回&(parentNode->childNode)
(指向childNode指针的指针),调用者 该函数可用于将其设置为新节点,或者 返回父节点
我不明白如何通过泛型来缓解这个问题。
关于c - 返回未初始化的结构位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13003257/