我可以使用 malloc 添加符号表条目吗?如何遍历表以检查是否已经存在某些内容?
问问题
2313 次
3 回答
5
“符号表”不描述特定类型的数据结构。它仅描述了主要的操作模式:按名称添加符号和检索符号。这里的符号基本上是属性名称。对于编译器类,这样的属性之一可能是IsAFunction
.
C 有很少的内置数据结构。在这种情况下,您必须自己创建一个。在 C++ 中,这只是一个std::map<std::string, Attributes>
. 现在大概如果您在编译器类中,您应该已经知道如何在 C 中实现数据结构(包括使用malloc()
)。如果不是,那么编译器类真的不适合你。
于 2009-11-16T14:15:21.383 回答
2
一般来说,符号表是通过哈希表实现的。哈希表具有 O(1) 存储和检索的优势,但它们不按顺序存储数据。
假设您在 C 中工作,您可以使用malloc()
,但它需要更多的工作。提供的链接应该可以启发您。
于 2009-11-16T13:57:27.740 回答
0
我以前用双链链表做过。但现在我肯定会用哈希表来做这件事。它只是一个数据结构。
于 2009-11-16T14:21:42.337 回答