Fortran Wiki
C interoperability

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.