Fortranの構造体
今日はFortranです。
転職してから仕事で使うことは皆無ですが・・・。
f90以降では構造体を使えます。
正直、C++で良いじゃん!って思いますが、
一応機能として使えるので、簡単な使い方だけ説明します。
ここでは、構造体にx、yの座標(real)を持たせるものとし、その座標をlocateとする配列にしています。
このlocateはimax(=10)個持たせ、各locateのx,yに値を入力しています。
最後に出力して確認しています。
(面白くもないですが・・・)
構造体でデータを持たせた場合のパフォーマンスについては、調査してません。
どうなんでしょうかね。。。
もしかしたら、大規模な計算だとパフォーマンスが落ちるかもしれません。
program main implicit none integer i,imax ! 構造体の宣言 type point real(8) :: x,y end type point type(point),allocatable :: locate(:) ! 座標の数(=10) imax = 10 ! 構造体配列の確保 allocate( locate(imax) ) ! 座標の入力 構造体のメンバー変数には「%」でアクセス do i = 1,imax locate(i)%x = real(i) locate(i)%y = real(i)*2.0d0 end do ! 入力値の確認 do i = 1,imax print *,locate(i)%x,locate(i)%y end do end program main