Fortran 90中allocate语句的用法

发布网友 发布时间:2022-04-21 17:47

我来回答

4个回答

热心网友 时间:2022-05-24 02:08

用在ALLOCATABLE ARRAY 或 POINTER上.
POINTER是在SOBROUTINE里面ALLOCATE一个ARRAY后回MAIN PROGRAM的时候不会自动消失的VARIABLE.因为一个INTENT ARRAY不能在SUBROUTINE里面ALLOCATE, 所以只能用POINTER

用在ALLOCATABLE ARRAY上.
program main

real(8), allocatable::ning(:,:)
integer:: ji

allocate(ning(3,4), stat=ji)
if (ji>0) 'error' stop

end program

------------------------------------------------
------------------------------------------------

用在POINTER

subroutine ()

!local variables-----------

real(8), pointer:: ning(:,:)

allocate(ning(2,3))

热心网友 时间:2022-05-24 03:26

比如你前面定义了一个数组real,allocatable::a()
后面你要把a分配成有5个元素的数组allocate(a(5))

热心网友 时间:2022-05-24 05:01

eg::
integer::i
integer,allocatable::a(:) !声明一个可变大小的一维数组

read(*,*)i
allocate(a(i))

热心网友 时间:2022-05-24 06:52

program main
real(kind=8),allocatable::a()
integer::i

i=10
allocate(a(i))
a=10
write(*,*) a
end program main
没有调试。你试试。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com