It can be of any type. If you want to retain definitions of variables upon reentry to subprograms, you must use the SAVE attribute. Automatic variables can reduce memory use because only the variables currently being used are allocated to memory.
Automatic variables allow possible recursion.
Appropriate use of the SAVE attribute can prevent compiler warnings if a variable is used before it is defined. This is regardless of whether a compiler option specifies recursion. On subprograms, see Section 8.4 . On specifying recursive subprograms, see Section 8.4.1.1 . On compiler options, see your user manual or programmer's guide.