所以我有一个以
开头的数组 COMPLEX(KIND=GP), ALLOCATABLE, DIMENSION (:,:,:) :: C1,C2
(不是我的代码),我只是尝试使用c代码打印这个数组的元素。
这是我的c代码,
#include <stdio.h>
typedef struct com{
long double r, i;
} x;
void printfunc_(x* k){
printf("Reading from fortran: %Le\t %Le\n", k->r, k->i);
}
在fortran中我打电话:
CALL printFUNC(C1(k,j,i))
k,j,我是我的。
但我只得到0.000000e + 00
我不知道GP是什么,但是从查找fortran代码看起来它可能是4,8或16个。
我尝试了c代码,结构为float,double和long double。有了这两个前者我得到-0.000000和0.000000。我知道通过查看实际输出应该有值:小的单精度浮点数。