Next: CEILING, Previous: C_LOC, Up: Intrinsic Procedures
C_SIZEOF — Size in bytes of an expressionC_SIZEOF(X) calculates the number of bytes of storage the
expression X occupies.
N = C_SIZEOF(X)
| X | The argument shall be of any type, rank or shape.
|
POINTER attribute, the number of bytes of the storage area pointed
to is returned. If the argument is of a derived type with POINTER
or ALLOCATABLE components, the return value doesn't account for
the sizes of the data pointed to by these components.
use iso_c_binding
integer(c_int) :: i
real(c_float) :: r, s(5)
print *, (c_sizeof(s)/c_sizeof(r) == 5)
end
The example will print .TRUE. unless you are using a platform
where default REAL variables are unusually padded.