Copyright Digital Equipment Corp. All rights reserved.

Storage_Classes

 The storage class of a variable determines when its storage is
 allocated, whether its contents are preserved across different
 blocks or functions, and what link-time scope the variable has.

 Auto variables are allocated at run time.  They are not preserved
 across functions.  Auto is the default storage class for variables
 declared within a function.

 Extern variables are allocated at compile time.  They are preserved
 across functions.  There can be only 65,532 extern variables per
 program.  Extern is the default storage class for variables
 declared outside a function.

 Globaldef, globalref, and globalvalue variables are allocated at
 compile time.  They are preserved across functions.  The number of
 global symbols is unlimited.

 Register variables are allocated at run time.  They cannot be
 referenced from other separately compiled functions.

 Static variables are allocated at compile time.  If externally
 declared, they retain their values across functions.  If internally
 declared (inside of a function), they cannot be referenced from
 other functions; if control passes from the defining function, to
 other functions, and then passed back to the defining function, the
 variable retains its previous value and is not reinitialized.