The next field of the first element must be always NULL.
The stack will be empty if the head pointer of the list points to null. Push will, obviously, push an item onto a stack.
So we check if the top is below zero or -1 to determine if the stack is empty. Move the temporary pointer through all the nodes of the list and print the value field attached to every node. Lets discuss the way in which, each operation is performed in linked list implementation of stack.
Step 1 - Create a newNode with given value. Likewise, Stack ADT allows all data operations at one end only. That certainly is a hindrance, if you need to access a random element, but for our stack we only need to know the first element, and this is where the linked list shines.