问问题
447 次
2 回答
2
这个:
sizeof(user_info*)
应该是这样的:
sizeof(user_info)
您需要结构本身的大小,而不是指向它的指针的大小。现在,您的memcpy()
调用并未因此复制所有数据。
同样,listNode *node = malloc(sizeof(listNode))
应该也是listNode *node = malloc(sizeof(*node))
出于同样的原因。我假设node->data = malloc(list->elementSize);
一旦您将正确的尺寸传递给list_new()
.
于 2013-10-18T19:26:50.100 回答
1
list->elementSize 设置为什么?
另一个潜在问题:
您正在存储指向字符串所在内存的指针。假设您解析一个字符串然后存储一个指针。稍后,如果字符串被解除分配,则指针将指向稍后放置在那里的任何内容。调试起来会很困难。确保在使用列表期间保留您的字符串。
于 2013-10-18T19:28:07.083 回答