The Stack is a Hardware Supported Feature in terms of Microprocessor Registers and Segments.

The Heap is actually a Software Abstraction.

For more information on the Stack, read this thread.

Also, on a side note - when one allocates using "new" one allocates on the Free Store.
Often, the Free Store is implemented as the "heap".

For more information on Free Store, Stack and Heap, please read this article.