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 pointerCPTR
to the Fortran pointerFPTR
and 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
INTEGER
withINTENT(IN)
. It shall be present if and only iffptr
is 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 — Obtain the C address of an object, C_F_PROCPOINTER — Convert C into Fortran procedure pointer