SIZEOF(A) (IBM extension)

Purpose

Returns the size of an argument in bytes.

Class

Inquiry function

Argument type and attributes

A
can be any data object except an assumed-size array.

SIZEOF must not be passed as an argument to a subprogram.

Result type and attributes

Default integer scalar.

Result value

The size of the argument in bytes.

The size of a derived object or record structure containing an allocatable or Fortran 90 pointer component includes only the size of the unallocated object or unassociated pointer component, even if the component is currently allocated or associated.

Examples

The following example assumes that –qintsize=4.

    INTEGER ARRAY(10)
    INTEGER*8, PARAMETER :: p = 8
    STRUCTURE /STR/
      INTEGER I
      COMPLEX C
    END STRUCTURE
    RECORD /STR/ R
    CHARACTER*10 C
    TYPE DTYPE
      INTEGER ARRAY(10)
    END TYPE
    TYPE (DTYPE) DOBJ
    PRINT *, SIZEOF(ARRAY), SIZEOF (ARRAY(3)), SIZEOF(P) ! Array, array
                                                         ! element ref,
                                                         ! named constant

    PRINT *, SIZEOF (R), SIZEOF(R.C)                     ! record structure
                                                         ! entity, record
                                                         ! structure
                                                         ! component

    PRINT *, SIZEOF (C(2:5)), SIZEOF(C)                  ! character
                                                         ! substring,
                                                         ! character
                                                         ! variable

    PRINT *, SIZEOF (DOBJ), SIZEOF(DOBJ%ARRAY)           ! derived type
                                                         ! object, structure
                                                         ! component

The following is sample output generated by the program above:

    40   4   8
    16   8
     4  10
    40  40

Related information

See the XL Fortran Compiler Reference for details about the -qintsize compiler option.