这种传递方式不需要传递数组的大小,使用内置的size,shape函数可以直接获得数组大小,减少了参数个数。 传递的是一个数组对象,可以进行数组的整体操作。 本身有数组的形状检查,需要显式接口。 只能接受指定rank的数组。 虚参的数组存放可能不连续,比如使用数组切片操作调用。 4 Assumed-rank Array 这是比较现代的数组传递...
首先,显式形状数组(Explicit-shape Array)是最常见的传递形式,它明确指定了数组的大小、秩和间距,使得数组元素在内存中连续存储。接着,假定大小数组(Assumed-size Array)是老代码中常用的方法,它在数组定义时并不明确大小,而是通过外部参数传递信息,适应性较强。假定形状数组(Assumed-shape Array...
搜索了一下,发现答案是有的,并且Fortran 90原生支持,这被称为assumed-shape array。主程序里数组的定义不变,但不再将数组长度作为实参。被调用的子程序需要放在module中(这通常也是子程序的标准用法,是一个好习惯),然后在子程序中,可以将a声明为假定形状的数组a(:),并用size函数来得到其长度。主程序在调用sub90...
SIZE(array[,dim]) 返回数组在指定维上的长度 SPREAD(source,dim,ncopies) 通过增加一维来复制数组 SUM(array[,dim][,mask]) 返回在指定维上满足mask条件的元素的和 TRANSPOSE(matrix) 转置二维数组 UBOUND(array[,dim]) 返回指定维上的上界 UNPACK(vector,mask,field) 把向量在mask条件下填充field的元素解压至...
Error1 Error: An assumed-size array shall not be written as a whole array reference except as an actual argument in a procedure reference for which the shape is not required. [NUCLIDEBURNUPSTEP] The argument, This, is a scalar, not an array. The...
51、元来赋予,这样就需要使用哑形数组(assumed- shape arrays)的形式来加以描述; 如果实元赋予一个作为哑元的数组时,只是决定它的尺度,而没有给定其他形状要素,那么就需要使用哑尺度数组(assumed-size arrays)的形式来加以描述。下面我们将分节说明这四种数组的描述方式。数组的描述的一般规则如下: 按照FORTRAN标准,数...
第9章 FORTRAN中的数组 第9章Fortran中的数组 •数组是Fortran语言中功能最为强大、运用最为灵活的一种数据结构。数组(ARRAY)在科学和工程计算中通常用来表示矩阵和向量。同一般的变量声明相比,数组能够同时保存多个数据。它是一种使用大规模数据的方法。配合Fortran语言中的数组操作,可用于对大量不同的数据进行...
Assumed-Size ArrayThe array is called an assumed-size array when the dimension declarator contains an asterisk. In such cases, the upper bound of that dimension is not stipulated. An asterisk can only appear for formal arrays and as the upper bound of the last dimension in an array ...
假定大小(Assumed-size) Subroutine sub(a) Real a(*) a(1:6)=1 End Subroutine sub 只传递地址,虚参只能是1维,下线为1,不传递上限,容易越界。 假定形状(Assumed-shape)(参考代码:"WriteMatrix") Subroutine sub(a) Real a(:,:) a=1 End Subroutine sub 传递地址和各维度大小,下限可自动,上限自动计算...
For an assumed-size array, the last dimension can be an asterisk.The lower bound indicates the first element of the dimension, and the upper bound indicates the last element of the dimension. In a one-dimensional array, these are the first and last elements of the array....