# PRIK: exposing non-TARGET Fortran arrays to C

**URL:** <https://fortran-lang.discourse.group/t/prik-exposing-non-target-fortran-arrays-to-c/11077>\
**Category:** Help\
**Created:** [August 31, 2026, 9:55pm UTC](https://fortran-lang.discourse.group/t/prik-exposing-non-target-fortran-arrays-to-c/11077 "2026-08-31T21:55:31Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![ivanpribec](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/ivanpribec/32/3290_2.png) [@ivanpribec](https://fortran-lang.discourse.group/u/ivanpribec)\
**Post date:** [September 1, 2026, 9:51am UTC](https://fortran-lang.discourse.group/t/prik-exposing-non-target-fortran-arrays-to-c/11077/13 "2026-09-01T09:51:09Z")

</div>

Would it be an option for PRIK to generate a Fortran shim routine?

```auto
subroutine capture() bind(c)
   use state, only: a
   ! ... read/write to a via USE association ...
end subroutine

```

It is a bit complicated but essentially you’d need to invoke a callback each time you had to do something with `a`, in the spirit of this answer: [Accessing derived-data type array components via pointers - #8 by jwmwalrus](https://fortran-lang.discourse.group/t/accessing-derived-data-type-array-components-via-pointers/10869/8)

---

_[View the full topic](https://fortran-lang.discourse.group/t/prik-exposing-non-target-fortran-arrays-to-c/11077)._
