What are the differences among static, dynamic, and automatic allocation?
Static allocation is memory that has been set aside for an application when it is first loaded. This section of memory is kept to be only used with that application, and is made available again once the program is closed.
Dynamic allocation is memory that is allocated as needed, and deallocated/released when it is no longer needed. Heaps and stacks are examples of areas of memory that can be dynamically allocated.