C_F_POINTER — Convert C into Fortran pointer¶
- C_F_POINTER(CPTR, FPTR[, SHAPE])¶
C_F_POINTER(CPTR, FPTR[, SHAPE])assigns the target of the C pointerCPTRto the Fortran pointerFPTRand specifies its shape.- Parameters
CPTR – scalar of the type
C_PTR. It isINTENT(IN).FPTR – pointer interoperable with
cptr. It isINTENT(OUT).SHAPE – (Optional) Rank-one array of type
INTEGERwithINTENT(IN). It shall be present if and only iffptris an array. The size must be equal to the rank offptr.
Standard:Fortran 2003 and later
Class:Subroutine
Syntax:CALL C_F_POINTER(CPTR, FPTR[, SHAPE])
Example: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
See also:C_LOC, C_F_PROCPOINTER