# Assignments

An assignment causes variables to be defined or redefined.

Assignment is specified by the following:

- An intrinsic assignment statement

  This lets you assign a value to a nonpointer variable.

- A defined assignment statement

  This lets you specify an assignment operation.

- pointer assignment

  This lets you associate a pointer with a target.

- masked array assignment

  This kind of assignment is denoted by a WHERE construct or statement. It lets you perform an array operation on selected elements in an array.

- element array assignment

  This kind of assignment is denoted by a FORALL construct or statement. It is a generalization of masked array assignment. It allows more general array shapes to be assigned, especially if it is used in construct form.

Note that the ASSIGN statement assigns a label to an integer variable. It is discussed elsewhere.