% The Stack and the Heap

<small>There is a new edition of the book and this is an old link.</small>

> Both the stack and the heap are parts of memory that is available to your code to use at runtime, but they are structured in different ways.
> The stack stores values in the order it gets them and removes the values in the opposite order.
> All data on the stack must take up a known, fixed size.
> For data with a size unknown to us at compile time or a size that might change, we can store data on the heap instead.

---

Here are the relevant sections in the new and old books:

* **[In the second edition: Ch 4.01 — What is Ownership, section The Stack and the Heap][2]**
* <small>[In the first edition: Ch 4.1 — The Stack and the Heap][1]</small>


[1]: first-edition/the-stack-and-the-heap.html
[2]: second-edition/ch04-01-what-is-ownership.html#the-stack-and-the-heap
