## 2.2.6 Terminology Referring to Data Items

Individual Fortran statements and expressions can have restrictions in using and formatting data items: constants, variables, arrays, array elements, scalar record fields, aggregate fields, character substrings, and expressions.

Throughout this manual, the following four categories identify which data items can be included in a particular statement or expression:

- Scalar Reference: This resolves into a reference to a single data item having a data type (a variable, scalar record field, array element, constant, character substring, or expression).

- Scalar Memory Reference: This resolves into a data item that can be assigned a value by means of an assignment statement. It is similar to a scalar reference, excluding constants, character substrings, and expressions.

- Array Name Reference: This resolves into a reference to an array.

- Aggregate Reference: This resolves into a reference to a structured data item (a record structure or substructure).

Examples

Consider the following declarations:

    INTEGER INT, INTARY (10)

     . . .

    STRUCTURE /STRA/

        INTEGER  INTFLD, INTFLDARY (10)

    END STRUCTURE

    STRUCTURE /STRB/

        CHARACTER*20  CHARFLD

        INTEGER  INTFLD, INTFLDARY (10)

        STRUCTURE STRUCFLD

            COMPLEX  CPXFLD, CPXFLDARY (10)

        END STRUCTURE

        RECORD  /STRA/  RECFLD, RECFLDARY (10)

    END STRUCTURE

     . . .

    RECORD  /STRB/  REC, RECRUIT (10)

Each of the following references is derived from the preceding data declarations:

Scalar References

    INT

    INTARY(1)

    REC.INTFLD

    REC.INTFLDARY(1)

    REC.RECFLD.INTFLD

    REC.STRUCFLD.CPXFLD

    REC.RECFLD.INTFLDARY(1)

    REC.RECFLDARY(1).INTFLD

    REC.RECFLDARY(1).INTFLDARY(1)

    REC.CHARFLD

    REC.CHARFLD(5:10)

    RECRUIT(1).CHARFLD(5:10)

    RECRUIT(1).INTFLD

    RECRUIT(1).INTFLDARY(1)

    RECRUIT(1).RECFLD.INTFLD

    RECRUIT(1).STRUCFLD.CPXFLD

    RECRUIT(1).RECFLD.INTFLDARY(1)

    RECRUIT(1).RECFLDARY(1).INTFLD

    RECRUIT(1).RECFLDARY(1).INTFLDARY(1)

Scalar Memory References

All references listed in the preceding scalar references category are also in the category of scalar memory references, because they do not include constants and expressions.

Array Name References

    INTARY

    RECRUIT

    REC.INTFLDARY

    REC.RECFLDARY

    REC.RECFLD.INTFLDARY

    REC.RECFLDARY(1).INTFLDARY

    REC.STRUCFLD.CPXFLDARY

    RECRUIT(1).INTFLDARY

    RECRUIT(1).RECFLDARY

    RECRUIT(1).RECFLD.INTFLDARY

    RECRUIT(1).STRUCFLD.CPXFLDARY

    RECRUIT(1).RECFLDARY(1).INTFLDARY

Aggregate References

    REC

    RECRUIT(1)

    REC.RECFLD

    REC.STRUCFLD

    REC.RECFLDARY(1)

    RECRUIT(1).RECFLD

    RECRUIT(1).STRUCFLD

    RECRUIT(1).RECFLDARY(1)

Previous Page Next Page Table of Contents