Dynamic Memory Allocation
- Ensure memory allocated with malloc is always freed
- Pointers do NOT have to initialized with malloced memory
- When objects are shared memory is often managed with a use count and a garbage collector
- alloca is sometimes used to allocate dynamic data on the stack (non-portable)
- Structures with a variable-sized array element are sometimes allocated in a single block