0

两个快速语法问题

real(4), ALLOCATABLE:: thing1(:,:)

创建一个包含 2 列、尚未定义的行数的二维数组,其中每个元素都是 4 个实数的数组?

其次,会

real(4) box(3,3),versions,revert

创建两个长度为 4 的数组和大小为 3x3 的二维数组,其中每个元素都是一个长度为 4 的数组。

4

1 回答 1

5

简短的回答是否定的。

REAL(4) 不创建实数数组,它确定 REAL 的种类。我请您参考这个问题:Fortran 90 kind parameter来解释这一点。

其次,thing1(:,:)不声明两,它声明了两个维度。第一个是行,第二个是列。

您的第二个将创建一个 3x3 数组“盒子”,其中实数 == 4,这通常是 C 语言中的精确“浮点数”。

我不确定versions,revert应该是什么。

此外,在创建数组时,通常会更明确地使用以下DIMENSION参数:

REAL(4),ALLOCATABLE,DIMENSION(:,:,:) :: thing1

然后可以稍后分配为:

ALLOCATE(thing1(x,2,4))假设您仍然需要 2 列、x 行和每个位置的 4 个数组。

于 2013-07-25T18:36:16.187 回答