in addition, you should add some bounds checks to your push, pop, and peek functions, ensuring that top_pointer is nonnegative and less than 30 in peek, less than 29 in push, and nonnegative in pop
Either way, this is good advice ^