Arrays can be used in the same kinds of expressions and operations as scalars. Intrinsic operations, assignments, or elemental procedures can be applied to one or more arrays.

For intrinsic operations, in expressions involving two or more array
operands, the arrays must have the same shape so that the corresponding
elements of each array can be assigned to or be evaluated. In a defined
operation arrays can have different shapes. Arrays with the same shape
are *conformable*. In a context where a conformable entity is
expected, you can also use a scalar value: it is conformable with any
array, such that each array element has the value of the scalar.

For example:

INTEGER, DIMENSION(5,5) :: A,B,C REAL, DIMENSION(10) :: X,Y ! Here are some operations on arrays A = B + C ! Add corresponding elements of both arrays. A = -B ! Assign the negative of each element of B. A = MAX(A,B,C) ! A(i,j) = MAX( A(i,j), B(i,j), C(i,j) ) X = SIN(Y) ! Calculate the sine of each element. ! These operations show how scalars are conformable with arrays A = A + 5 ! Add 5 to each element. A = 10 ! Assign 10 to each element. A = MAX(B, C, 5) ! A(i,j) = MAX( B(i,j), C(i,j), 5 ) END

**Related Information**:

- Elemental Intrinsic Procedures
- Intrinsic Assignment
- WHERE shows a way to assign values to some elements in an array but not to others
- FORALL Construct