Когда я использую этотПочему у моей программы есть ошибки с проверкой утечки памяти?
valgrind --leak-check=yes ./Main
У меня есть около 185236 ошибок. Он сказал, что:
хх байт х блоков, возможно, потеряли в рекордные потери хххх хххх из
Вот мой код:
Node InsertString(Head head, Node tree, char* data) {
if (tree == NULL) {
tree = malloc(sizeof (struct TreeNode)); //Error
if (tree == NULL) {
printf("Out of Space!\n");
} else {
tree->theData = malloc(sizeof (char) * strlen(data));//Error
strcpy(tree->theData, data);
}
} else {
if (strcmp(data, tree->theData) < 0) {
tree->Left = InsertString(head, tree->Left, data); //Error
} else {
if (strcmp(data, tree->theData) > 0) {
tree->Right = InsertString(head, tree->Right, data);//Error
}
}
}
}
return tree;
}
Спасибо!
Где вы «бесплатно» данные? –
Как вы думаете, где я должен освобождать данные? – Tuan