For a variable, its default storage duration, scope, and
linkage depend on where it is declared: whether inside or outside
a block statement or the body of a function. When these defaults are
not satisfactory, you can use a storage class specifier to explicitly
set its storage class. The storage class specifiers are:
- auto
- static
- extern
- register
- __thread