インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
C ポインターとの互換性を保持するために、ISO_C_BINDING モジュールには、C のオブジェクト・ポインターおよび関数ポインターと互換性のある、派生型 C_PTR と C_FUNPTR が含まれています。
これらの型およびモジュールの特定のプロシージャーは、2 つの言語間で動的配列を渡すためのメカニズムを提供します。動的配列の要素は、メモリー内で連続して格納する必要がないため、Fortran ポインターのターゲットまたは形状引き継ぎ配列を C へ渡すことはできません。ただし、すでに割付けられている割付け配列を C へ渡したり、C で割付けられた配列を Fortran ポインターに関連付けることはできます。さらに、次のように、C 形式のポインターを Fortran 形式のポインターに変換することもできます。
Fortran プログラムの例 |
---|
|
C モジュールの例 |
---|
#include <stdlib.h> int *make_array(int n_elements) { int *parray; int i; parray = (int*) malloc(n_elements * sizeof(int)); for (i = 0; i < n_elements; i++) { parray[i] = i+1; } return parray; } |