Fortran sending real pointer to C program: REAL*8?

An acknowledgement in the product, or perhaps a donation from you or your employer would be nice, if this is for commercial purposes.

Have you tried it already, and did it work the way you expected? If you’re not willing to do the reading, you can still get far with experimentation:

Take a look
/* main.c */
extern void alias_();

int main(int argc, char const *argv[])
{
    alias_();
    return 0;
}
! alias.f90
subroutine alias()
real :: a(3)
a(1) = transfer(2,a(1))
a(2) = transfer(4,a(1))
a(3) = transfer(6,a(1))
call print_ints_in_c(a(1))
end subroutine
/* print_ints_in_c_.c */
#include <stdio.h>
void print_ints_in_c_(int *a) {
    for (int i = 0; i < 3; i++) {
        printf("a[%d] = %d\n",i, a[i]);
    }
}
$ gfortran -c alias.f90 
$ gcc -c print_ints_in_c_.c 
$ gcc main.c alias.o print_ints_in_c_.o -o main
$ ./main
a[0] = 2
a[1] = 4
a[2] = 6