質問する
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 に答える