Итак, вот ваши 3 элемента ...
----- ----- -----
| 1 | --->| 2 | --->| 3 |--->NULL
------ ------ ------
Стрелки сверху означают следующие указатели.
head
указывает на элемент 1. А также вы начинаете с temp
из элемента 1. Вы запускаете al oop и продолжаете делать temp = temp->next
, пока temp->next
не станет NULL. Таким образом, temp
продолжает движение вправо от элемента 1 к элементу 3.
l oop разрывается, когда temp->next
равен NULL, то есть, когда temp указывает на элемент 3.
Теперь в этот момент, когда вы делаете temp->next = new_node
, указатель next
элемента 3 начинает указывать new_node (указатель next
элемента 3 больше не NULL
). Этот new_node становится элементом 4.