fortran的allocate的用法
这段代码怎么有点不对functionigl(lxyz,ig,l)implicitnoneinteger,parameter::integ=4integerigl,lxyz...
这段代码怎么有点不对
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)就可以。是不是这样啊。 展开
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)就可以。是不是这样啊。 展开
1个回答
展开全部
integer,allocatable::rex(*),rey(*),rez(*),ref(*)
改为
integer,allocatable::rex(:),rey(:),rez(:),ref(:)
如果数组的大小出现在虚参中,可以不用 allocatable,直接 integer rex(I),前提是 I 是虚参。
改为
integer,allocatable::rex(:),rey(:),rez(:),ref(:)
如果数组的大小出现在虚参中,可以不用 allocatable,直接 integer rex(I),前提是 I 是虚参。
追问
改了确实可以了。那问什么声明字符串的时候可以character *(*) aaa这么声明啊。
追答
aaa是虚参可以这样。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询