Fortran将可变数组传入自定义子程序问题

在使用Fortran语言写程序时,经常会将经常使用到的功能写成自定义函数或子程序,使用时直接调用,有时需要传递数组,但传递前不知道数组的具体大小,需要子程序来进行确定,所以实现子程序参数是可变数组的功能要将子程序放在module中,具体如下。

    module m_ceshi
    implicit none
    contains
    subroutine ceshi(array)
    implicit none
    integer,allocatable::array(:)
    allocate(array(3))
    array=(/1,2,3/)
    return
    end subroutine ceshi
    end module m_ceshi

    program main
    use m_ceshi
    implicit none
    integer,allocatable::array1(:)
    call ceshi(array1)
    write(*,*)array1
    stop
    end program main

以上为测试代码,在vs+ivf中测试过可直接运行,主程序将不知道大小的可变数组传入子程序,子程序接收可变数组,确定其维度,并赋值后返回。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值