This is a fully working dynamic stack program example. The stack size is increased on overflow and decreased accordingly when empty space is more than 66% on pushing some element.
There is an interface to control the operations on stack. To make dynamic stack, the array is referenced to a new array with deferent size that is temporary. Other help comment are also present right in the code.
If you like this work, drop a comment.
Another version in which stack index variable starts from -1 is here .