здесь a, b, c - указатели на первые 3 последовательных узла одиночного ll. Вопрос, который у меня есть, заключается в том, почему изменение ptr-> next = изменение адреса, сохраненного в b-> next
void sort(node **head){
int first=1;
node *ptr=*head;
if(first==1){
first=0;
if((ptr->data)>(ptr->next->data)){
node *a=ptr;
node *b=ptr->next;
node *c=ptr->next->next;
printf("\n%p\n",b->next);
ptr=ptr->next;
printf("\n%p,%p\n",b->next,c);
ptr->next=a;
printf("\n%p\n",a );
printf("\n%p,%p\n",b->next,c);
a->next=c;
display(ptr);
}
, вывод, который я получаю,
0x55e7eb4b72e0
0x55e7eb4b72e0,0x55e7eb4b72e0
0x55e7eb4b72a0
0x55e7eb4b72a0,0x55e7eb4b72e0
5
6
4
2