請問Fortran裡動態陣列可以被設定成全域性變數嗎?如果可以要怎麼設定呢

時間 2022-02-09 02:35:06

1樓:天河流紋石

fortran 沒有全域性變數。

共享資料的方式有:

虛參傳遞。可使用動態陣列

common 公共區。不可使用動態陣列,老語法,不推薦。

module 模組。可使用動態陣列,強力推薦

fortran中怎麼定義全域性變數與區域性變數

2樓:

全域性變數和區域性變數是根據變數的生存期說的,一般在子程式或者函式內宣告的都是區域性變數。77和95有這方面的區別嗎?不清楚。

/=意思是「不等於」

3樓:糖糖寳寳

1、區域性變數是指在函式內部定義的變數,作用域為定義區域性變數的函式,也就是說他只能在定義他的函式中使用,其他函式不能使用該變數.

最值得注意的是:只有在程式執行到定義他的模組時才能生成,一旦執行退出該模組則變數消失.

2、全域性變數則是在整個程式執行的過程中一直有效,除非整個程式退出才會消失.

例子:option explicit

dim x as integer

private sub form1_load()x = 1

end sub

private sub fun()

dim y as integer

x = x + 1

y = y + 1

end sub

private sub command1_click()call fun

print x '正確

print y '出錯,提示變數沒定義

end sub

4樓:丹信厚載彬

module主要有以下作用:

1)module

可以宣告變數,經常用來宣告程式中所需要的常量、或是用來存放全域性變數2)module裡面可以定義自定義型別,在經過use的命令可以讓程式中的每一個函式都能使用這個型別

3)module裡面可以編寫函式,同樣使用use命令。

至於你提出的問題,可以用以下程式來解釋:

module

global

implicit

none

integer

a,bcommon

a,b!

read

(*,*)

a,bend

module

program

ex0834

useglobal

implicit

none

read

(*,*)

a,bwrite(*,*)

a,bend

program

在module裡宣告瞭全域性變數a,b.在program裡就可以省去定義a,b的部分,就可以直接使用a,b.

第二個問題,當把module裡的註釋符「!」去除,把program裡的read(*,*)

a,b註釋掉就能發現程式錯誤,所以我認為在module裡,不能通過read賦值。

fortran語言:module中的子程式中定義的陣列是全域性變數嗎

c 編寫動態陣列類 tarray,建構函式裡指標陣列初始化

我家小私兒 main.cpp include 1.h int main a.input d,10 把c中的10個元素複製到a中a.print 列印a中的元素tarray c a 建立了一個與a一樣的c陣列b a 把a的內容複製給b a.setelem 0,6 把第0個元素的值重新賦值為6b.exch...

請問IT的硬碟可以做磁碟陣列raid0麼

你想怎麼組隨你便 你可以劃2塊組raid0 另外2塊組raid0 或者4快都是raid0 或者3快raid0 可以自行隨意設定。比如硬碟1和硬碟2組一個raid0 硬碟3和硬碟4組一個raid0 他們在物理上是4快硬碟 但是組了raid0之後在邏輯上計算機把它看作是2塊硬碟了 如果你4塊硬碟都組成r...

請問在C語言裡如何將陣列元素的個數設為輸入的值

聽時間流逝 我當初學c的時候有過和你一樣的想法,但是陣列的記憶體只能靜態分配,所以你必須指明陣列的大小。比如 int a 10 char ch i love china 一個顯式指定大小,一個是隱式指定。 逐夢兮樂 這個陣列不能是變數,只能是常量,沒法設定的。 浪尖上打禪 這其實就是動態開闢陣列,需...