See Memory allocation, Heap (data structure)
Advantage vs Call stack: More memory than in stack, and it's also not freed when the function that created the variable returns
What is a Memory Heap?