#include #include void*allocatetestarray_real_f_(size_t*n_,_Bool*dp_); void*allocatetestarray_real_c_(size_t*n_,_Bool*dp_) { size_t n= *n_; _Bool dp= *dp_; int i; float*float_array; double*double_array; printf("Values passed: n=%d dp=%d\n",n,dp); if(dp) { printf("Allocating double array!\n"); double_array= (double*)(malloc(n*sizeof(double))); if(float_array!=NULL) for(i= 0;inext; printf("The point has: screen=%d, x=%f, y=%f \n",point->screen,point->x,point->y); printf("The next point has: screen=%d, x=%f, y=%f \n",next_point->screen,next_point->x,next_point->y); } typedef void FortranSubroutine(int*test_); void externalprocedures_(void**f_address_) { void*f_address= *f_address_; FortranSubroutine*f_subroutine; int n= 113; f_subroutine= (FortranSubroutine*)f_address; printf("C calling procedure at integer address: %d \n",f_subroutine); f_subroutine(&n); }