Fortran的點點滴滴 陣列

2022-07-28 22:45:28 字數 1172 閱讀 7795

陣列(array)是一組型別完全相同、且用單個名字來引用的變數或常量,這組陣列占用計算機記憶體中的連續若干位置,陣列中的單個元素稱為陣列元素。

fortran中陣列是乙個非常有用的運算元據工具,本文將簡略介紹陣列的一些知識。

陣列使用之前,它包含的元素型別和個數必須用型別宣告語句來向編譯機宣告。陣列的宣告大致有幾種,下面以宣告長度為10的實型一維陣列vec為例:

real :: vec(10)

real,dimension(10) :: vec

上面宣告了陣列vec,使用的時候為如下格式:

program main

real,dimension(10) :: vec

integer :: i

!對於整個陣列進行操作

vec = 0.0

!操作單個元素

vec(1) = 1.0

!迴圈運算元組

do i = 0,1

vec(i) = real(i)

end do

end program

多維陣列定義和使用格式如下:

program main

integer :: max(2,3)

max = 0

max(1,2) = 1.0

end program

編制程式時候,可能會出現在宣告陣列的時候並不知道需要多大的長度,如果申請乙個特別的陣列儘管可以解決此類問題,但是未免太耗記憶體,而且申請乙個特別大的自動陣列會導致段錯誤,為止,fortran提供了可分配陣列,如下為其使用方法:

program main

!宣告陣列

real,allocatable :: vec(:)

integer :: istatus

!申請陣列大小

allocate( vec(10) , stat = istatus)

vec(1:3) = 0.1

end program

上面**中,"stat = 子句"是可選的,如果出現這一句,將返回乙個整數狀態值,分配成功狀態為0。
語句"vec(1:3) = 0.1"則是為第1-3個元素進行操作。

Fortran的點點滴滴 開場白

fortran語言作為一種數值計算常用語言,其最大特性是接近數學公式的自然描述,其在計算機裡具有很高的執行效率,且易學,語法嚴謹。在用fortran的這麼多年,天天的積累,漸漸攢起了不少自己的經驗 把它們寫下來給大家分享,尤其是分享給我生活的另一半,將會是一件很開心的事情。program main ...

Fortran的點點滴滴 批量生成檔案

設要生成4000個檔案,檔名為aa1 aa4000,如何寫迴圈生成檔案,而不用寫4000次write命令呢?這時可以用內部檔案來實現該功能 program main character len 80 filename,form integer i do i 1,4000 select case i ...

acm 點點滴滴

qsort排序方法 六種qsort排序方法 本文中排序都是採用的從小到大排序 一 對int型別陣列排序 int num 100 sample int cmp const void a const void b qsort num,100,sizeof num 0 cmp 二 對char型別陣列排序 ...