#c #pointers #data-structures #linked-list
#c #указатели #структуры данных #связанный список
Вопрос:
Я новичок в C , в настоящее время изучаю его на предмет структуры данных. Я видел этот пример на Указателях, и я не мог указать, почему он недействителен. Я поискал в Google, но не смог найти ответа.
Вопрос:
Are the following expressions true or false
a. head->next == ptr1 TRUE
b. ptr1->next->data== 46 FALSE (Why!)
c. ptr2->next == NULL FALSE (Why!)
d. head->data == 12 TRUE
Комментарии:
1. Как вы думаете
ptr1->next->data
, что должно быть?2. Я верю, что он будет печатать
ptr1->next->data
, будет печатать34
3. А 34 равно 46?
4. Разве вы не можете указать пальцем на эту картинку и выделить соответствующую стрелку, как описано в каждом вопросе?
5. Теперь я понял, большое вам спасибо, ребята, теперь я чувствую себя глупо
Ответ №1:
b. ptr1-> next->data== 46 FALSE (почему!)
ptr1
указывает на узел, который data
является 24
. Этот узел next
указывает на узел, который data
является 34
. Узел после этого — чей data
46
. Итак, ptr1->next->next->data == 46
вместо этого будет TRUE.
c. ptr2->next == NULL FALSE (почему!)
ptr2
указывает на узел, который data
является 63
. Этот узел next
не NULL
является, он указывает на узел, который data
есть 75
. Этот узел next
является NULL
. Итак, ptr2->next->next == NULL
вместо этого будет TRUE.