Я новичок в программировании и начал изучать связанные списки, но у меня возникли серьезные проблемы с пониманием того, что на самом деле делают некоторые задания в коде.
Например:
void moveNode(node** desti, node** source) {
struct node* newNode = *source;
assert (newNode != NULL);
*source = newNode -> next;
newNode -> next = *desti;
*desti = newNode;
Как и в node* newNode = *source
, newNode
- это указатель, указывающий на значение в source
pointer?
*source = newNode -> next;
, для этого указатель source
получает адрес newNode
, связавшись с newNode
?
Я не могу понять эти задания.
PS: этот код moveNode
предназначен для объединения двух отсортированных связанных списков.
Также, пожалуйста, проясните, когда адрес передается или сохраняется в приведенном выше коде.