Quote Originally Posted by laserlight View Post
No, they don't. Pointers don't have next and previous pointers. Node objects have next and previous pointers. So, the two pointers point to the same Node object, and that single Node object has a next pointer and a previous pointer. Hence, if you change the next pointer of that Node object through one of the pointers pointing to it, it will appear changed when you check it with the other pointer pointing to it.
ok i think i can see where my confusion is the -> operator

tail is a pointer to a block of memory using the -> operator is saying we want to change something in that block of memory its NOT saying change what part of tail points to i cant describe my meaning better than that sorry