dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

>> Fortran语言使用经验交流
搜一搜更多此类问题 
Fortran中文网Fortran中文网—Fortran语言经验交流Fortran语言使用经验交流 → 动态数组

您是本帖的第 4539 个阅读者
树形 打印
标题:
动态数组
yyh732
美女呀,离线,留言给我吧!
等级:新手上路
文章:9
积分:306
门派:无门无派
注册:2011年2月22日
楼主
 用支付宝给yyh732付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给yyh732

发贴心情
动态数组
冲虚运行中总是有数组越界的问题,有人说可以用动态数组,有谁知道动态数组怎么用?
ip地址已设置保密
2011/7/12 15:31:40
luo2510764
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:8
积分:228
门派:无门无派
注册:2011年10月5日
2
 用支付宝给luo2510764付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给luo2510764

发贴心情

例子:

real*8,dimension(:,:)::kk

allocatable::kk    申明是动态数组

allocate(kk(n))   用前再申明是n维

ip地址已设置保密
2011/10/6 10:20:39
wangli8009
帅哥哟,离线,有人找我吗?
等级:论坛游民
文章:55
积分:591
门派:无门无派
注册:2012年1月15日
3
 用支付宝给wangli8009付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给wangli8009

发贴心情
动态数组使用例子
动态数组使用例子:
点击浏览该文件
program test_allocate
  !(1)声明动态数组。如:real, allocatable, dimension(:)::x
  !(2)给动态数组分配内存。如:allocate (x(N))
  !(3)将分配的内存释放掉。如:deallocate (x)
  !
  !在使用动态数组时,要增加动态数组的大小,需将原来的动态数组释放掉,再重新指定动态数组的大小。
  !
  !动态数组不能作为例程虚参来使用。
  !
  implicit none
  integer ::N,M
  real(8),dimension(10) ::ARROR0             !固定数组
  real(8),allocatable,dimension(:) ::ARROR1  !声明动态数组
  write(*,*) '输入整形变量n和m=?'
  read(*,*) N,M
  allocate (ARROR1(N))                        !给动态数组分配内存
  ARROR1=0.9D0
  print *, ARROR1
  deallocate (ARROR1)                         !将分配的内存释放掉
  call sub1(ARROR0)
  print *, ARROR0
  
  allocate (ARROR1(M))
  !如果动态数组不分配内存,是不对的
  call sub1(ARROR1)
  print *, ARROR1
  deallocate (ARROR1)
  stop 'test_allocate ok!'
  contains
  subroutine sub1(ARR2)
    implicit none
real(8),dimension(:) ::ARR2
    ARR2=9.0d0
  end subroutine sub1    
end program test_allocate

石间野草
ip地址已设置保密
2012/1/18 5:20:58
zouzhq72
帅哥哟,离线,有人找我吗?
等级:新手上路
文章:2
积分:212
门派:无门无派
注册:2012年3月29日
4
 用支付宝给zouzhq72付款或购买其商品,支付宝交易免手续费、安全、快捷! 点击这里发送电子邮件给zouzhq72

发贴心情
好贴要顶
ip地址已设置保密
2012/3/29 10:25:54

 4   4   1/1页      1    
网上贸易 创造奇迹! 阿里巴巴 Alibaba
Powered By Dvbbs Version 7.1.0 Sp1
Copyright ©2005 - 2008 www.fortran.cn
页面执行时间 0.04297 秒, 3 次数据查询
京ICP备05056801号