Fortran 90中allocate语句的用法 5

最好给个实例,希望不要Ctrl。... 最好给个实例,希望不要Ctrl。 展开
 我来答
irisJIJI
2009-12-30 · 超过13用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
用在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))
dolcefan
推荐于2018-03-04 · TA获得超过1195个赞
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:314万
展开全部
比如你前面定义了一个数组real,allocatable::a()
后面你要把a分配成有5个元素的数组allocate(a(5))
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z501284834
2013-04-14
知道答主
回答量:1
采纳率:0%
帮助的人:1509
展开全部
eg::
integer::i
integer,allocatable::a(:) !声明一个可变大小的一维数组

read(*,*)i
allocate(a(i))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vqimwr
2009-12-30 · TA获得超过2913个赞
知道小有建树答主
回答量:571
采纳率:0%
帮助的人:411万
展开全部
program main
real(kind=8),allocatable::a()
integer::i

i=10
allocate(a(i))
a=10
write(*,*) a
end program main
没有调试。你试试。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式