A reference to a component of a derived-type structure takes the
following form:
parent [%component [(s-list)]]... %component [(s-list)]
parent Is the name of a scalar or array of derived type.
The percent sign (%) is called a component selector.
component Is the name of a component of the immediately
preceding parent or component.
s-list Is a list of one or more subscripts. If the list
contains subscript triplets or vector subscripts,
the reference is to an array section.
Each subscript must be a scalar numeric expression
with a value that is within the bounds of its
dimension.
The number of subscripts in any s-list must equal
the rank of the immediately preceding parent or
component.
Each parent or component (except the rightmost) must be of derived
type.
The parent or one of the components can have nonzero rank (be an
array). Any component to the right of a parent or component of
nonzero rank must not have the POINTER attribute.
The rank of the structure component is the rank of the part (parent
or component) with nonzero rank (if any); otherwise, the rank is
zero. The type and type parameters (if any) of a structure
component are those of the rightmost part name.
The structure component must not be referenced or defined before
the declaration of the parent object.
If the parent object has the INTENT, TARGET, or PARAMETER
attribute, the structure component also has the attribute.
Additional Information:
explode
extract