current=current->next; isn't difficult to learn...


provided you understand you can do this
x = x + 1;

The original x (right-hand side) is lost - just like the original current is lost.

I will agree most people have trouble with pointers however. I ususally use an address/little box metaphor. You're defining a space (pointer space). You can assign to it, add it, reassign it, set it to NULL, etc.

Now, if you want to access what's at that space, then use the * and ->.