共通ブロックと同様に,構造型データは複数のデータ項目を含むことがあります。
構造型データ中のデータ項目の構成要素は,SEQUENCE 文と DF オプションの使用に関連するいくつかの例外を除いて,最大 64 ビットの境界上に自然に位置合わせされます。
Compaq Visual Fortran は,構造型データを,次のように値の線形な並びとして格納します。
SEQUENCE 文を指定すると,最初のデータ項目は最初の格納位置に,最後のデータ項目は最後の格納位置に格納されます。個々のデータ項目は宣言された順番に格納されます。/align:sequence オプションを省略すると,データを自然に位置合わせするためにはデータ宣言を慎重に指定する必要があります。
SEQUENCE 文を省略すると,/align:norecords オプションが指定されていない限り,Compaq Fortran はデータ項目の構成要素を自然に位置合わせするために必要な充填バイトを追加します。
次に示す例は,構造型 PART_DT の配列 CATALOG_SPRING の宣言です。
MODULE DATA_DEFS TYPE PART_DT INTEGER IDENTIFIER REAL WEIGHT CHARACTER(LEN=15) DESCRIPTION END TYPE PART_DT TYPE (PART_DT) CATALOG_SPRING(30) . . . END MODULE DATA_DEFS
次図に示すように,最も大きな数値データ項目が最初に定義され,文字型データが最後に定義されています。データ項目間に充填文字はなく,すべての項目が自然に位置合わせされています。末尾の充填バイトが必要なのは,CATALOG_SPRING が配列だからです。これは,/align:records オプションが有効になっている場合に,コンパイラによって挿入されます。
構造型の自然に位置合わせされたデータ (CATALOG_SPRING())