ユーザ定義型の処理

Fortran 95/90 は、ユーザ定義型 (C の構造体に似たデータ構造) をサポートしています。ユーザ定義型は他のデータ型と同じように、モジュールおよび共通ブロック内で渡すことができますが、他の言語は型の構造を知っている必要があります。

以下に例を示します:

Fortran のコード:

     TYPE LOTTA_DATA         SEQUENCE         REAL A         INTEGER B         CHARACTER(30) INFO         COMPLEX CX         CHARACTER(80) MOREINFO      END TYPE LOTTA_DATA      TYPE (LOTTA_DATA) D1, D2      COMMON /T_BLOCK/ D1, D2

上の Fortran コードでは、SEQUENCE 文により、構造型定義を格納する順番が保持されます。

C のコード:

 /* C code accessing D1 and D2 */ extern struct {    struct {       float a;       int b;       char info[30];       struct {          float real, imag;          } cx;       char moreinfo[80];    } d1, d2; } t_block;