program main implicit none integer :: students integer,allocatable :: a(:) integer :: i write(*,*) "How many students:" read(*,*) students allocate(a(students)) !分配内存 write(*,*) "size of array = ",size(a) deallocate(a) !释放内存 stop end ...
write(*,*) "size of array = ",size(a) deallocate(a) !释放内存 stop end 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 测试程序(测试当前计算机所能分配的最大内存) program main implicit none integer :: size_N=0,error=0 integer,parameter :: one_mb=1024*1024 character...
programvariable_size_arrayimplicit noneinteger,allocatable,dimension(:)::arrinteger::n,iprint*,"Enter the size of the array:"read*,nallocate(arr(n))doi=1,n arr(i)=i*2end doprint*,"The array elements are:"doi=1,nprint*,arr(i)end dodeallocate(arr)end programvariable_size_array ...
!格式:output=RESHAPE(array1,array2) !array1:数据 !array2:描述新结构的一维数组 istat=RESHAPE([1,1,1,1,2,2,2,2,3,3,3,3],[4,3]) RESHAPE函数把一个1\times12 的数组转化为一个4\times3的数组, 然后赋给istat,数值顺序参考7.1.2 类型声明语句 INTEGER,DIMENSION(4,3)::istat(4,3)=&...
print *, 'Enter the size of the array:' read *, n ! 分配动态数组 allocate(array(n)) ! 初始化数组元素 do i = 1, n array(i) = i * i end do ! 打印数组元素 print *, 'Array elements:' do i = 1, n print *, 'array(', i, ') = ', array(i) ...
integer :: array(10) 1. 2. 总的来说,按照如下的方式声明数组: DataType, dimension(size) :: name DataType :: array(size) 1. 2. 如果需要声明多维数组,使用逗号分隔各个纬度 integer, dimension(10, 10) :: array integer :: array(10, 10) ...
The size of array 'pars' is determined by another FUNCTION ct_pars. CHARACTER (LEN=:), ALLOCATABLE, INTENT (INOUT) :: keyword REAL, ALLOCATABLE, INTENT (INOUT) :: pars(:) CHARACTER (LEN=80) :: cmdline, kwt INTEGER :: npars READ (*, '(a80)') cmdline READ (cmdline, *) kwt IF...
或SUM (ARRAY [, MASK]) 数组元素的求和 2.1.15 数组查询函数通用内函数名 说明 ALLOCATED (ARRAY) 数组分配状态 LBOUND (ARRAY [, DIM]) 数组的维数下界 SHAPE (SOURCE) 数组或标量的形式 SIZE (ARRAY [, DIM]) 数组中的元素总数 UBOUND (ARRAY [, DIM]) 数组的维数上界 2.1...
REAL, DIMENSION(MAX_SIZE)::array1 MAX_SIZE可以修改。 使用整个数组 数组a与数组b相加,为两个数组中的逐个元素相加。但是两个数组纬度必须相同!标量值与数组相同,将作用于每个元素。 使用部分数组 部分数组,即数组的子集。 subscript_1 : subscript_2 : stride # 最小下标,最大下标,下标增量 ...
!Method 4: The size of the array varies !当事先不知道每行要输出多少个,或者说数组大小会一直变,又不想每次都去更改程序的输出语句的时候,利用下面的方法 do i = 1, imax write (xstring,1000) jmax !把数字转换为字符串 1000 format(I3) xstring = '('//trim(ADJUSTL(xstring))//'f12.6)' !