Fortran 编程中的关联与定义详解
1. 隐式类型声明规则
在包含的子程序中,以 C 或 Z 开头的数据对象可隐式声明为复数类型;以 J、K 或 L 开头的数据对象可隐式声明为逻辑类型。而对于字母 A - B、D - I 和 M - Y,仍然适用 IMPLICIT NONE,以这些字母开头的数据对象名称必须显式声明。
2. 关联类型
2.1 链接关联
链接关联存在于具有 BIND 属性的模块变量与与之互操作的 C 变量之间,或者 Fortran 公共块与与之互操作的 C 变量之间。这种关联在程序的整个执行过程中都有效。
2.2 构造关联
构造关联仅在 SELECT TYPE 和 ASSOCIATE 构造的块内有效。执行 SELECT TYPE 语句会在选择器和构造的关联名称之间建立关联;执行 ASSOCIATE 语句会在每个选择器和构造的相应关联名称之间建立关联。关联在这些构造内的任何块执行之前建立,并且不受选择器中下标或子字符串范围中使用的变量的后续更改的影响。关联在执行块的整个执行过程中持续存在,在块内,每个选择器可以通过关联的关联名称访问。构造终止时,关联也终止。
规则和限制如下:
1. 如果选择器是可分配的,则必须分配它。关联名称与数据对象关联,并且不具有 ALLOCATABLE 属性。
2. 如果选择器具有 POINTER 属性,则必须关联它。关联名称与指针的目标关联,并且不具有 POINTER 属性。
3. 如果选择器是除具有向量下标的数组部分之外的变量,则关联是与选择器指定的数据对象;否则,关联是与选择器表达式的值。
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



