作业帮 > 综合 > 作业

fortran的allocate的用法

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 10:16:15
fortran的allocate的用法
这段代码怎么有点不对
function igl(lxyz,ig,l)
implicit none
integer,parameter::integ=4
integer igl,lxyz(3),ig(3),l,i
integer,allocatable::rex(*),rey(*),rez(*),ref(*)
allocate(rex(l))
allocate(rey(l))
allocate(rez(l))
allocate(ref(3*l))
do i=1,3*l
ref(i)=0 initialize it to zero
enddo
.
还有后续的代码,提示是带allocate的所有行都有问题,我大概知道function里面好像根本不用声明allocate,直接声明integer rex(l)就可以.是不是这样啊.
integer,allocatable::rex(*),rey(*),rez(*),ref(*)
改为
integer,allocatable::rex(:),rey(:),rez(:),ref(:)
如果数组的大小出现在虚参中,可以不用 allocatable,直接 integer rex(I),前提是 I 是虚参.
再问: 改了确实可以了。那问什么声明字符串的时候可以character *(*) aaa这么声明啊。
再答: aaa是虚参可以这样。