Я думаю, название говорит о том, что мне нужно. Я знаю, что для этого можно использовать функцию "asd", но по некоторым причинам мне нужно сделать выделение на Фортране (т.е. в подпрограмме "asd_"). Вот код C:
#include <stdio.h>
void asd(float **c) {
*c = (float *) malloc (2*sizeof(float));
**c =123;
*(*c+1)=1234;
}
void asd_(float **c);
main () {
float *c;
asd_(&c);
// asd(&c); would do the job perfectly
printf("%f %f \n",c[0],c[1]);
return 0;
}
А вот код Фортрана:
subroutine asd(c)
implicit none
real, pointer, allocatable ::c(:)
print *, associated(c)
if(.not. associated(c)) allocate(c(2))
end subroutine
Это случайным образом дает ошибку сегментации. Любая помощь будет оценена по достоинству.