PaulS:
That's a perfectly valid thing to do, and I do it often. Especially when traversing to the end of a linked list
Wouldn't it be easier and faster to keep a pointer to tail?
faster? yes. easier? no.
You have to always ensure you update said pointer every time to add something to the tail. It just takes one moment of forgetfulness when you don't add the tail pointer updating, and you have a rather nasty bug. Memory-leaks-r-us.