在标题中很难说出我的问题。但是,使用二叉树进行结构分配
我正在编程使用结构数据库的程序。在这个结构中,我有关于数据库和数据库本身的信息。每个元素都是另一种结构。现在我宣布这些元素是一个简单的元素阵列,具有定义的大小。但是每个元素都很重(6个double double,一个char [64],一些int并且很快就会更多),我想使程序能够同时处理很多(可能是infinte)元素,所以有必要使用很多内存。但是有时候程序只填满了这个数组,所以程序占用了大量的RAM,并且只能处理很少的元素。所以我认为使用二叉树,所以当我想要把另一个元素,我初始化一个新的元素结构,当我删除它的程序dealloc结构,我可以有“infintie”元素。但有两个问题影响到我:
2)如果我调用一个函数来分配一个新结构并返回指针,那么结构并不会自动释放,因为函数已完成 2)程序alloc和dealloc元素没有秩序的结构,所以数组是完美的,因为每个结构都有足够的布尔标志“active”或“unactive”,但是在树中,事情更复杂,我必须删除节点,然后重新连接他的子节点到另一个没有孩子的节点...
你觉得呢?每一个建议都是谢谢。
感谢您的好解释。但是如果我调用一个函数来分配一个变量,当函数返回时,我可以访问它吗? –
是的,如果你做得对。看到我的[其他答案](http://stackoverflow.com/questions/36817825/linked-list-head-not-being-updated-across-function-calls/36817919#36817919)恰好涵盖了这一点 –