記録構造体は,Compaq Fortran の以前のバージョンでは言語拡張として定義されていました。機能は,標準 Fortran 95/90 構造型で置き換えられていますが,Visual Fortran は依然としてサポートしています。既存のプログラム中の記録構造体は,可搬用のために簡単に Fortran 95/90 構造型構造体に変換することができますが,古い形式として残すこともできます。多くの場合,Compaq Fortran 記録と Fortran 95/90 構造型は互換的に使うことができます。
Compaq Fortran 記録構造体は,Fortran 95/90 構造型に似ています。
記録構造体は,1 つまたは複数の要素を含んでいる言語要素集合です (記録要素は欄または構成要素とも呼ばれます)。記録は,プログラム中で複数欄のデータ構造を宣言し,操作する必要がある場合に使用できます。
記録の作成は,2 つの手順で行います。
複数文の構造体宣言によって,記録の形式を定義する必要があります。
RECORD 文を使って,記録を名前を持つ言語要素として宣言する必要があります (同じ構造体を複数の RECORD 文で引用することができます)。
例
組込み型のみを使用する Compaq Fortran 記録構造体は,簡単に Fortran 95/90 構造型に変換できます。変換は,キーワード STRUCTURE を TYPE に置き換え,スラッシュ (/) 記号を取り除くだけの簡単なものです。以下に変換の例を示します。
記録構造体 | Fortran 95/90 構造型 |
---|---|
STRUCTURE /employee_name/ CHARACTER*25 last_name CHARACTER*15 first_name END STRUCTURE STRUCTURE /employee_addr/ CHARACTER*20 street_name INTEGER(2) street_number INTEGER(2) apt_number CHARACTER*20 city CHARACTER*2 state INTEGER(4) zip END STRUCTURE |
TYPE employee_name CHARACTER*25 last_name CHARACTER*15 first_name END TYPE TYPE employee_addr CHARACTER*20 street_name INTEGER(2) street_number INTEGER(2) apt_number CHARACTER*20 city CHARACTER*2 state INTEGER(4) zip END TYPE< |
記録構造体は,他の記録内の下位記録変数として使うことができます。たとえば employee_data の記録としてです。等価な Fortran 90 構造型は,以下に示すように同じような方法で成分として構造型オブジェクトを使います。
記録構造体 | Fortran 95/90 構造型 |
---|---|
STRUCTURE /employee_data/ RECORD /employee_name/ name RECORD /employee_addr/ addr INTEGER(4) telephone INTEGER(2) date_of_birth INTEGER(2) date_of_hire INTEGER(2) social_security(3) LOGICAL(2) married INTEGER(2) dependents END STRUCTURE |
TYPE employee_data TYPE (employee_name) name TYPE (employee_addr) addr INTEGER(4) telephone INTEGER(2) date_of_birth INTEGER(2) date_of_hire INTEGER(2) social_security(3) LOGICAL(2) married INTEGER(2) dependents END TYPE |
以下の節も記録構造体に関連しています。