VMS Help
CC, Language topics, Storage Classes

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

  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.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.