从Fortran 2003开始,支持动态数组的自动分配,不需要显式地allocate数组的大小,其空间根据所赋值的数组自动分配。例如:program mainimplicit noneinteger,allocatable::a(:),b(:)a=[1,2,3]b=a*2write(*,*) awrite(*,*) bend输出结果为:1 2 34 5 6自动分配后的数组,可以用size(a)函数来查询其大小,也可以用allocated(a)来查询其分配情况,并用dellocate(a)来释放空间。在程序运行的过程中,还可以随时进行重新自动分配,不需要先deallocate再allocate:program mainimplicit noneinteger,allocatable::a(:)a=[1,2,3]write(*,*) aa=[6,7,8,9]write(*,*) aend输出结果为:1 2 36 7 8 9可以向数组中追加元素,类似Python列表的append功能:program mainimplicit noneinteger,allocatable::a(:)a=[1,2,3]write(*,*
………………………………