| 查看: 568 | 回复: 10 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
动态数组分配
|
|||
|
我有一个数组cc(:,:,:)我通过读取文件 知道其中的前两维如(8,6,:),第三维要在定义以后才知道。 程序结构是这样的: 读取文件知道cc大小是(8,6, ,第三维未知然后进入循环读取 do i=1,8 do j=1,6 读取文件,知道cc(i,j,:)的第三维,但是每次大小都不一样:如cc(1,1,:)有5623个,cc(2,1, 有1234个,(这里面最大的也不知道)然后读取 给 cc(i,j,5623)赋值 enddo enddo 请问只里面怎么是用动态分配?可以这样吗?: ALLOCATE(CC(NBAND,NKPTS, )先定下二维,然后在循环里面定义第三维吗?可以的话应该怎么弄?这样就会不会多次分配而出错?或者有什么方法可以读取出来? |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有6人回复
存款400万可以在学校里躺平吗
已经有14人回复
Materials Today Chemistry审稿周期
已经有6人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
基金申报
已经有6人回复
推荐一本书
已经有13人回复
国自然申请面上模板最新2026版出了吗?
已经有17人回复
纳米粒子粒径的测量
已经有8人回复
疑惑?
已经有5人回复
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请教一个应用read时出现数组越界的问题,谢谢
已经有7人回复
allocate与data共存的问题
已经有14人回复
c语言动态数组
已经有7人回复
有没有哪位会fortain中动态数组啊!
已经有5人回复
【求助】用fortran解矩阵问题【已解决】
已经有5人回复

【答案】应助回帖
★
贺仪(金币+2): 谢谢,还是有点问题…… 2011-11-11 09:43:31
xzhdty(金币+1): 欢迎常来程序语言讨论 2011-11-11 10:46:21
贺仪(金币+2): 谢谢,还是有点问题…… 2011-11-11 09:43:31
xzhdty(金币+1): 欢迎常来程序语言讨论 2011-11-11 10:46:21
|
30×50和6×8对应编程来说又有什么区别呢? 我说的3个方案都是可行的,只是你否定得太快了。 如果你不能从下面的例子中得到启示的话,那就算了。 integer d1,d2,d3,i,j,k double precision, allocatable::array(:,:, ![]() d1=2 d2=3 d3=1 allocate(array(d1,d2,d3)) print *, array print *, "*****************" do i=1,d1 do j=1,d2 deallocate(array)!deallocate之前保存数据到临时数组里。 d3=2 allocate(array(d1,d2,d3)) end do end do print *, array |

7楼2011-11-11 08:03:30

4楼2011-11-10 15:53:58

5楼2011-11-10 16:01:14

6楼2011-11-10 16:40:17











,第三维未知
回复此楼