$STATIC and $DYNAMIC Metacommand Details The $STATIC and $DYNAMIC metacommands tell the compiler how to allocate memory for arrays. Neither of these metacommands takes an argument: 'Make all arrays dynamic. '$DYNAMIC $STATIC sets aside storage for arrays during compilation. When the $STATIC metacommand is used, the ERASE statement reinitializes all array values to zero (numeric arrays) or the null string (string arrays) but does not remove the array. The REDIM statement has no effect on $STATIC arrays. $DYNAMIC allocates storage for arrays while the program is running. This means that the ERASE statement removes the array and frees the memory it took for other uses. You can also use the REDIM statement to change the size of a $DYNAMIC array. The $STATIC and $DYNAMIC metacommands affect all arrays except implicitly dimensioned arrays (arrays not declared in a DIM statement). Implicitly dimensioned arrays are always allocated as if $STATIC had been used.