编辑:使用新的Pastebin链接更新了代码,但它仍然在循环时停留在info-> citizen [x] - > name.在循环中添加了realloc并整理了代码.任何更多的评论将不胜感激
我遇到了一些内存分配溢出的问题
http://pastebin.com/vukRGkq9(v2)
无论我尝试什么,根本没有为info-> citizen分配足够的内存,而gdb经常说它无法访问info-> citizen [x] - > name.
有时,我甚至会在strlen的printf语句之后直接得到KERN_INVALID_ADDRESS错误(由于错误导致gdb暂停,代码中没有使用Strlen,但我假设printf以某种方式使用strlen).我认为这与结构如何分配内存有关.所以我想知道是否有人可以看看?
我有一个具有以下规范的 Java 二叉树,我需要克隆它。
public class Item {
private final String value;
public final Item left;
public final Item right;
...
}
Run Code Online (Sandbox Code Playgroud)
看似非常简单的任务让我感到困惑,因为克隆的树必须与原始树对象共享相同的单元格,而不是被复制。
但是,如果要将某个项目添加到原始树或克隆树,则它不得传播到另一棵树。IE。如果要将新项目添加到原始树中,则它不得出现在克隆树中,反之亦然。
此外,这需要在没有递归和任何循环构造的情况下完成。
所以我想知道是否有人能想到这样做,因为我不知道从哪里开始?