three main storage areas

To simplify just a bit, there are basically three main storage areas you need to be concerned with:

  1. Global data -- a single static memory location outside the stack or heap. These are the variables declared not local to any function. (The distinction evident by the C/C++ "static" keyword is really just about which parts of the program are aware of the name of a global variable.)

  2. Stack data -- dynamic, but pushes and pops with function calls.

  3. Heap data -- the stuff returned by new/malloc, truly dynamic and the memory persists until a delete/free, rather than when functions exit.

原文地址:https://www.cnblogs.com/smartvessel/p/2014468.html