変数の型と宣言

Last-modified: 2007-05-21 (月) 14:17:59

データ型と宣言文一覧

宣言文データ型メモリ領域有効数字対応するC言語のデータ型
LOGICAL論理型4bytes
INTEGER整数型2bytesint
INTEGER*4整数型 4byteslong
REAL*4単精度実数型4bytes7桁float
REAL*8倍精度実数型8bytes15桁double
REAL*16倍々精度実数型16byteslong double*1
COMPLEX*4単精度複素数型4bytes
COMPLEX*8倍精度複素数型8bytes
CHARACTER文字型長さによる

単精度実数型と倍精度実数型

何も指定しない場合は単精度実数型(REAL*4)が使用される。
プログラム中の定数値についても同様である。
プログラム中の定数値が倍精度実数型であることを示すには、数値の最後にd0を付加する。

例:プログラム中の定数値

1.2    ! 単精度実数型として認識される。
1.2d0 ! 倍精度実数型として認識される。

CHARACTER宣言文

CHARACTER*nでn文字の文字型変数を定義する。
例:10文字の文字型変数strを作成する。

CHARACTER*10 str

配列の宣言

配列の宣言には2通りの方法がある。
割付配列については、Fortran/allocatableを参照のこと。
何も指定しない場合、Fortranの配列は1から始まる。

  1. 通常の宣言文で行う場合推奨
    REAL*4 :: a(10)
  2. DIMENSION文を使用する場合
    この場合のデータ型は暗黙の型宣言(IMPLICITの項参照)に従う。
    REAL*4, DIMENSION :: a(10)

多次元配列の場合はコンマでつなぐ。

REAL*4 :: a(10,2)
REAL*4, DIMENSION :: a(10,2)

配列の添え字の範囲を指定したい場合は、(n:m)という風に宣言する。
例:単精度実数型aの添え字を0~100にする。

REAL*4 a(0:100)

SAVE

EQUIVALENCE

COMMON(非推奨)

サブルーチン、外部関数間でのデータの共有を行う。
fortran90の場合はMODULEの使用が推奨される。
例:親プログラムparentのx,yと、子プログラムchildのx,yを共有する。

program parent
real*4 x,y
-----------------
program child
real*4 x,y
common x,y

EXTERNAL

INTRINSIC


*1 実装により異なる。