Returns the size of an argument in bytes.
Inquiry function
Default integer scalar.
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 deallocated object or unassociated pointer component, even if the component is allocated or associated.
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
See the following sample output generated by the program above:
40 4 8
16 8
4 10
40 40
See the XL Fortran Compiler Reference for details about the -qintsize compiler option.