Among other things, Fortran 2003 provides the module iso_c_binding as well as several new Intrinsic procedures for enhanced interoperability with C: c_associated, c_funloc, c_f_procpointer, c_f_pointer, c_loc, c_sizeof.
See c_interface_module for an example of using type aliases to produce better-defined C interface prototypes.
Also see the C section of the Interoperability page.
ISO_Fortran_binding: supports C/Fortran interoperability by providing the Fortran 2018 ISO_Fortran_binding.h C header file, corresponding function definitions, and CMake scripts for building, testing, and installing static and dynamic libraries, by Damian Rouson et al. C programs may use the provided function to manipulate interoperable Fortran data objects by exploiting metadata describing the type, rank, extents, contiguity, and other information about the object.
Fortran and C interoperability - UCLA Academic Technology Services
Chasm: Language Interoperability Tools - a language transformation system created to improve Fortran and C/C++ language interoperability.
FCKit - a Fortran toolkit for interoperating Fortran with C/C++
FortCL - Fortran wrapper library providing OpenCL functionality