Привет я определил следующие функции:C программирование ... Linked List Pointer итерацию
head();
traverse(struct *);
Я обеспокоен тем, что при переборе списка он модифицируется.
void tail()
{
n3.next = (struct entry*) 0xff;
}
void traverse(struct entry *listPt)
{
while(listPt != (struct entry *) 0xff)
{
printf("%i\n", listPt->value);
listPt = listPt->next;
}
}
Должен ли я использовать другой алгоритм для перебора списка? Удобнее ли копировать список?
Является ли следующее выражение из цикла while заменено существующей (значениями) памятью?
listPt = listPt->next;
Почему '0xff' вместо' NULL'? – ShadowRanger
Я хотел посмотреть на значение в gdb. Использование 0xff позволило мне увидеть отличное значение. – dcrearer