发布网友 发布时间: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
没有调试。你试试。