C_F_POINTER(CPTR, FPTR[, SHAPE])
assigns the target of the C pointer CPTR to the Fortran pointer FPTR and specifies 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
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.3.0/gfortran/C_005fF_005fPOINTER.html