Which of the following statements about a stack is correct?

A stack pointer holds the address of the next free location in the stack at any given time.

A stack grows downward from high memory to low memory.

A stack is a set of memory locations reserved for storing information temporarily during the execution of programs.

All of the above

None of the above