Я не понимаю, почему именно так работают связанные списки
В книге, которую я читаю, показано, что связанные списки создаются следующим образом:
EnemySpaceShip* getNewEnemy () { EnemySpaceShip* p_ship = new EnemySpaceShip; p_ship->x_coordinate = 0; p_ship->y_coordinate = 0; p_ship->weapon_power = 20; p_ship->p_next_enemy = p_enemies; p_enemies = p_ship; return p_ship; }
Чего я не понимаю, так это того, что на линиях:
p_ship->p_next_enemy = p_enemies; p_enemies = p_ship;
Здесь, Когда назначается следующий враг, не должен ли он принимать адресное значение следующего врага, чтобы оно выглядело следующим образом:
p_ship->p_next_enemy = &p_enemies; p_enemies = p_ship;
Что я уже пробовал:
Ничего........................................................