【发布时间】:2013-11-17 02:41:30
【问题描述】:
这是我遇到的问题:
我可以回显设置的最后一个变量,但不能回显以前的变量。
因此,如果 x=Welcome 并且我回显 $x... 我会得到 Welcome。
但是如果我做 xx=Back... 它会删除原来的 x
【问题讨论】:
这是我遇到的问题:
我可以回显设置的最后一个变量,但不能回显以前的变量。
因此,如果 x=Welcome 并且我回显 $x... 我会得到 Welcome。
但是如果我做 xx=Back... 它会删除原来的 x
【问题讨论】:
您将指针存储在表中,但指针指向一个简单重复使用的局部变量……您正在覆盖表指向的键和值。
在您的 Node 结构中,复制指针指向的内容,这样您就可以保留一份不会被覆盖的副本。
由于您正在处理字符串,解决此问题的简单方法是替换(在 Table_add 中):
p->key = key;
p->value = value;
与
p->key = strdup(key);
p->value = strdup(value);
但如果你这样做,你需要确保在释放节点之前free()这两个值。
【讨论】: