(Most important type for me is the external…)
https://www.programtopia.net/cplusplus/docs/storage-classes points out that these 4 describe the lifetime and visibility of a variable.
initially there are only 2 — auto and external. They added “register” as a subtype of auto. They added static as a subclass of external.
External variables are global variables. I feel globals and file-scope static objects are stored in the same area, not on stack or heap.