8.53 C_F_POINTER — Преобразование C-указателя в Fortran-указатель
- Описание:
-
C_F_POINTER(CPTR, FPTR[, SHAPE])присваивает целевой объект C-указателя CPTR Fortran-указателю FPTR и задаёт его форму. - Стандарт:
-
Fortran 2003 и более поздние версии
- Класс:
-
Подпрограмма
- Синтаксис:
-
CALL C_F_POINTER(CPTR, FPTR[, SHAPE]) - Аргументы:
-
CPTR скаляр типа C_PTR. ОнINTENT(IN).FPTR указатель, совместимый с cptr. Он INTENT(OUT).SHAPE (Необязательно) одномерный массив типа INTEGERсINTENT(IN). Он должен быть присутствующим тогда и только тогда, когда fptr является массивом. Размер должен быть равен рангу 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 - См. также:
C_LOC— Получение C-адреса объекта,C_F_PROCPOINTER— Преобразование C-указателя процедуры в Fortran-указатель
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gfortran/C_005fF_005fPOINTER.html