Подписки против указателей
В настоящее время код написан с использованием гибридного подхода, который использует некоторую подписку и некоторую адресацию указателя.
Возможно, что если вы переписали этот цикл для работы полностью с подписками вместо текущей гибридной адресации, то это было бы легче понять.
В этом отношении может быть написано использование полностью указателей без подписки.
Я не жалуюсь на текущую организацию, которая выглядит просто отлично, я просто говорю, что она может пролить некоторый свет на реализацию, чтобы увидеть, как она выполняется в обоих направлениях в чистом виде.
Но чтобы ответить на ваш вопрос, имейте в виду, что список всегда находится в одном и том же месте, просто значения элементов меняются местами. Таким образом, начало списка всегда в одном и том же месте, но оно не всегда имеет одинаковое содержимое. Приятно, что в вашем уме встроена такая объектно-ориентированная картина, но в этом случае, возможно, она не очень хорошо вам подходит. В конечном счете, структуры данных - это просто массивы битов по определенным адресам ...