Very often, the actual size of the FORTRAN array required will not be known until runtime so space for it must be allocated dynamically in a similar way to dynamic character strings.
Macros DECLARE_type_ARRAY_DYN and F77_CREATE_type_ARRAY are defined to do this. They are designed for 1-dimensional arrays, having just the name and the number of elements as parameters, but for Unix systems, at least, will work for multi-dimensional arrays.
For most types on all current systems, the CREATE_ARRAY macros will not actually allocate space as no conversion of data is necessary, but they are provided for contingency and completeness.
CNF and F77 Mixed Language Programming -- FORTRAN and C