Fortran 數(shù)組元素的選取

2023-12-29 14:54 更新

既然定義了數(shù)組,那么我們就需要有對(duì)于數(shù)組的增加、選擇這樣的基本操作。Fortran 數(shù)組中的序號(hào)是從 1 開(kāi)始的,即寫(xiě)作 n(1),這點(diǎn)與其他高級(jí)編程語(yǔ)言略有不同,不過(guò)符合人類(lèi)的數(shù)學(xué)認(rèn)識(shí)。因此如下所示,當(dāng)定義一個(gè)長(zhǎng)度為 10 的數(shù)組 n 時(shí),數(shù)組 n 的最后一個(gè)元素就是 n(10)。在實(shí)際的存儲(chǔ)中,我們能夠很容易理解一維數(shù)組是按照 1 到 10 的順序從左往右排列的,但是在二維數(shù)組中又會(huì)是怎么樣呢?是行優(yōu)先還是列優(yōu)先呢?一般來(lái)說(shuō),在我們接觸過(guò)的高級(jí)編程語(yǔ)言中幾乎都是行優(yōu)先的,即先存儲(chǔ)第一行再存儲(chǔ)第二行,以此類(lèi)推。但是,在 Fortran 中則是列優(yōu)先的,也就是說(shuō) Fortran 的二維數(shù)組存儲(chǔ)時(shí)會(huì)先存儲(chǔ)第一列再存儲(chǔ)第二列,再以此類(lèi)推。

real n(10)     ! n(1) ~ n(10)
real m(4, 4) ! m(1, 1) m(2, 1) m(3, 1) ... m(4, 4)

 如果我們?cè)谑褂脭?shù)組 n 的過(guò)程中忘記了加上序號(hào),那么程序默認(rèn)就會(huì)對(duì)整個(gè)數(shù)組的全部元素進(jìn)行操作,而非像其他高級(jí)編程語(yǔ)言可能會(huì)指向數(shù)組的第一個(gè)元素。

當(dāng)我們想要去選取數(shù)組中的某一個(gè)元素時(shí),可以直接通過(guò)對(duì)應(yīng)的序號(hào)進(jìn)行選取。但是如果想要選多個(gè)元素或者某一行、某一列時(shí),這就有點(diǎn)不同了。比如說(shuō),現(xiàn)在有一個(gè)長(zhǎng)度為 10 的一維數(shù)組 n,我們想要獲取到從第 3 個(gè)元素到第 5 個(gè)元素的 3 個(gè)元素,應(yīng)該使用 : 來(lái)將序號(hào)的上下限分隔開(kāi)同時(shí)選中,即 n(3:5)。如果有一個(gè) 3 行 x 4 列 的二維數(shù)組 m,我們想要獲取到第 2 行到第 3 行的所有元素,則應(yīng)該使用 m(2:3, 1:4) 來(lái)選取。


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)