FORTRAN的數組-筆記

來源:互聯網
上載者:User

    首先,FORTRAN數組的索引下界預設情況下為1。

    FORTRAN中的數組是按“列元素最佳化”的規則進行儲存的。C語言中的數組則是按照“行元素優先”的原則進行儲存,並且C語言中數組的下標下界固定是從0開始的。在FORTRAN中,使用DO迴圈進行高效數組操作的代碼寫法,可能是在C語言中恰恰是最低效的。

    FORTRAN讀取檔案時,逐行讀取檔案內容,然後在記憶體中按列儲存。print 和write函數,按列輸出。

 


 

program test1<br /> integer temp, b(3,3), c(3,3)<br /> temp = 0<br /> do 20 i = 1, 3<br /> do 20 j = 1, 3<br /> temp = temp + 1<br /> b(i, j) = temp<br /> write(*, *) i, j, '----', b(i, j)<br /> 20 continue<br /> open(100, file = 'test.txt')<br /> write(100, *) ((b(i,j),i = 1, 3),j = 1,3)<br /> close(100)<br /> write(*,*) '###############################'<br /> open(101, file = 'test.txt')<br /> read(101, *)((c(i, j), i = 1, 3), j = 1, 3)<br /> close(101)<br /> do 21 i = 1, 3<br /> do 21 j = 1, 3<br /> write(*,*) i, j, '----', c(i, j)<br /> 21 continue<br />end program test1<br /> 

 

結果:


[root@c0108 test]# gfortran test1.f90 -o test<br />[root@c0108 test]# ./test<br /> 1 1 ---- 1<br /> 1 2 ---- 2<br /> 1 3 ---- 3<br /> 2 1 ---- 4<br /> 2 2 ---- 5<br /> 2 3 ---- 6<br /> 3 1 ---- 7<br /> 3 2 ---- 8<br /> 3 3 ---- 9<br /> ###############################<br /> 1 1 ---- 1<br /> 1 2 ---- 2<br /> 1 3 ---- 3<br /> 2 1 ---- 4<br /> 2 2 ---- 5<br /> 2 3 ---- 6<br /> 3 1 ---- 7<br /> 3 2 ---- 8<br /> 3 3 ---- 9<br />[root@c0108 test]# cat test.txt<br /> 1 4 7 2 5 8 3 6 9<br />

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.