Fortran 90 does not have any storage association, this means that, unlike FORTRAN 77, the standard does not specify how arrays are to be organised in memory. The lack of implicit storage association makes it easier to write portable programs and allows compiler writers more freedom to implement local optimisations. For example, in distributed memory computers an array may be stored over 100 processors with each processor owning only a small section of the whole array -- the standard will allow this.
There are certain situations where an ordering is needed, for example, during input or output and in these circumstances Fortran 90 does define ordering which can be used in such contexts. It is defined in the same manner as the FORTRAN 77 storage association but it does not imply anything about how array elements are stored.
The array element ordering is again of column major form:
C(1,1),C(2,1),..,C(5,1),C(1,2),C(2,2),..,C(5,3)
Figure 10: Visualisation Of Array Element Ordering
This ordering is used in array constructors, I/O statements, certain intrinsics (TRANSFER, RESHAPE, PACK, UNPACK and MERGE) and any other contexts where an ordering is needed.
Return to corresponding overview page