On the fortran side, this assumed shape declaration requires an explicit interface. That is because a different argument association is required, one that allows the type, kind, and ranks of the actual and dummy arguments to match and for array extents to be passed to the dummy arguments. None of that can occur with the usual conventions with a C calling program.