0
4

2 に答える 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 に答える