qck.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Static and Dynamic Arrays
  ◄Summary►  ◄Details►                           ◄Contents►  ◄Index►  ◄Back►
──────────────────────────────────────────────────────────────────────────────
 Static and Dynamic Arrays
 
 ■ Storage for arrays can be set aside when the program is compiled or when
   the program is run, depending on whether the array is static or dynamic:
   • Static arrays have storage set aside when the program is compiled.
   • Dynamic arrays have storage set aside when the program is run. Storage
     used by dynamic arrays can be eliminated when the program is running to
     free memory for other uses.
 
 ■ In a SUB or FUNCTION statement that is not declared static, all arrays
   are dynamic. See: ◄FUNCTION Statement►  ◄SUB Statement►
 
 ■ Arrays declared using REDIM are dynamic arrays. See: ◄REDIM Statement►
 
 ■ You can use the $STATIC and $DYNAMIC metacommands to control how array
   storage is allocated. However, the $STATIC metacommand cannot force
   arrays to be static in a procedure not already declared static. In such
   a procedure, all arrays are dynamic.
   See: ◄$DYNAMIC Metacommand►  ◄$STATIC Metacommand►
 
 ■ In some cases, you can allocate more space for strings by replacing static
   arrays with dynamic arrays or by using variable-length string arrays
   stored in far memory.
 
 ■ In compiled programs, the space for static arrays is allocated from
   DGROUP, an area where strings are stored. On the other hand, dynamic
   arrays and variable-length string arrays in far memory do not take any
   space in DGROUP; they are stored as far objects and require far addresses.
 
 See: ◄Array Storage Summary►