fortran66のブログ

fortran について書きます。

Introduction to Modern Fortran

ここの講義ノートが重箱の隅をつついていて結構面白いです。
http://people.pwf.cam.ac.uk/nmm1/Fortran/

文字配列のメモリー上での置かれ方なんて考えたことがありませんでしたが、文字長が余分な配列の RANK として最内に加わった感じになっているそうです。これはもっともな気がします。

実行結果

ソース・プログラム

program Console6
    implicit none
    character(len = 3) :: ch(20)
    character :: cc(60)
    integer :: i
    forall(i = 1:20) ch(i) = repeat(char(ichar('a') + i - 1), 3)
    cc = transfer(ch, cc)
    print *, cc
    stop
end program Console6