# 3.4 Variables

A variable is a data object whose value can be changed at any point in a program. A variable can be any of the following:

- A scalar

  A scalar is a single object that has a single value; it can be of any intrinsic or derived (user-defined) type.

- An array

  An array is a collection of scalar elements of any intrinsic or derived type. All elements must have the same type and kind parameters.

- A subobject designator

  A subobject is part of an object. The following are subobjects:

    An array element
    An array section
    A structure component
    A character substring

  For example, B(3) is a subobject (array element) designator for array B. A subobject cannot be a variable if its parent object is a constant.

The name of a variable is associated with a single storage location.

Variables are classified by data type, as constants are. The data type of a variable indicates the type of data it contains, including its precision, and implies its storage requirements. When data of any type is assigned to a variable, it is converted to the data type of the variable (if necessary).

A variable is defined when you give it a value. A variable can be defined before program execution by a DATA statement or a type declaration statement. During program execution, variables can be defined or redefined in assignment statements and input statements, or undefined (for example, if an I/O error occurs). When a variable is undefined, its value is unpredictable.

When a variable becomes undefined, all variables associated by storage association also become undefined.

For More Information:

- On arrays, see Section 3.4.2.
- On storage association of variables, see Section 16.4.3.
- On type declaration statements, see Section 5.1.
- On the DATA statement, see Section 5.5.
- On the data type of a numeric expression, see Section 4.1.1.2.

Previous Page Next Page Table of Contents