- slower than [[Stack Memory]], bit more complex - we can forget to free memory - good to use when - we don't know the size of the object ahead of time - we need the value to persist beyond just one function call / [[Stack Memory]] frame - we use [[Malloc]] (Memory Allocation) to set aside memory in the heap for usage - must be freed later ![[heap meme.png]]