主题:自动数组
今天运行一个程序,把一些数组的维数增大之后会出现“Segmentation fault”,于是回头补充一下基础,惭愧啊[em54]
采用动态数组可以减小程序对于内存的占用,包括可分配数组和自动数组。
subroutine fun(num, dim)
real(8) :: num(dim,10000)
...
end subroutine
上面数组num是一个自动数组,程序结束时会自动释放内存。那么如果该子程序fun中num的定义为如下:
real(8) :: num(large,10000)
而large是一个在该子程序外部定义的整数,那么数组num应该不是一个自动数组了吧?
采用动态数组可以减小程序对于内存的占用,包括可分配数组和自动数组。
subroutine fun(num, dim)
real(8) :: num(dim,10000)
...
end subroutine
上面数组num是一个自动数组,程序结束时会自动释放内存。那么如果该子程序fun中num的定义为如下:
real(8) :: num(large,10000)
而large是一个在该子程序外部定义的整数,那么数组num应该不是一个自动数组了吧?