Я пытаюсь сделать функцию, которая копирует узел. Я пытаюсь получить программу с ошибкой или NULL return NULL, у меня может быть только один оператор возвратаВыполнение функции cpnode?
У меня есть следующий код, и я не уверен, что еще делать дальше .. Любые советы/советы Я бы очень хотел оценить
Node *cpnode(Node *curNode)
{
if (curNode == NULL) return NULL;
Node *result = malloc(sizeof *result);
result -> value = curNode -> value;
result -> next = cpnode(curNode -> next;
return(result);
}
EDIT:
Я редактировал свой код при попытке компиляции я получаю ошибки, такие как узел не имеет элемента с именем «значение» и «рядом». Почему это?
Также я знаю, что могу легко вернуть NULL в оператор if, а в конце вернуться с моим результатом, но как я могу просто иметь только один оператор return с NULL при ошибке?
Чтобы определить мой узел буду я должен сделать что-то вроде этого:
Node *cpnode(Node *curNode)
{
struct Node{
*result;
*value;
*next;
}
if (curNode == NULL) return NULL;
Node *result = malloc(sizeof *result);
result -> value = curNode -> value;
result -> next = cpnode(curNode -> next;
return(result);
}
'new' - вещь C++, используйте' Node * result = malloc (sizeof * result); ' –
@ sss34 Я не понял, что означает« функция, которая копирует узел при включении в другую программу ». –
'cpnode (curnode -> next'; ->' cpnode (curnode -> next); ' – LPs