C_F_POINTER
— Convert C into Fortran pointerC_F_POINTER(CPTR, FPTR[, SHAPE])
Assign the target the C pointer
CPTR to the Fortran pointer FPTR and specify its
shape.
CALL C_F_POINTER(CPTR, FPTR[, SHAPE])
CPTR | scalar of the type C_PTR . It is
INTENT(IN) .
|
FPTR | pointer interoperable with cptr. It is
INTENT(OUT) .
|
SHAPE | (Optional) Rank-one array of type INTEGER
with INTENT(IN) . It shall be present
if and only if fptr is an array. The size
must be equal to the rank of fptr.
|
program main use iso_c_binding implicit none interface subroutine my_routine(p) bind(c,name='myC_func') import :: c_ptr type(c_ptr), intent(out) :: p end subroutine end interface type(c_ptr) :: cptr real,pointer :: a(:) call my_routine(cptr) call c_f_pointer(cptr, a, [12]) end program main