- Static memory allocation utilizes stack which is a limited resource, especially in such environments as kernel mode.
- In the most cases it’s quicker but it also depends in the environment (is stack growth is involved).
- You can’t share the resource allocated on stack in multi-threaded environment.
- The advantage is that you don’t need to take care about deallocation.
- Allocation is slower than static.
- You need to take care about deallocation.
- You can share dynamically allocated memory between threads, does not consume stack space.
- You can allocate different types of memory (usualy).