Cray ポインタの POINTER 文は次の形式で記述します。
POINTER ( pointer_name, pointee_name [array_spec] ), … |
pointer_name、pointee_name、array_spec のそれぞれの意味は、次のとおりです。
対応する pointee_name へのポインタです。
pointer_name には pointee_name のアドレスが含まれます。pointer_name にはスカラー変数名を指定してください (派生型は指定できません)。禁止事項: 定数、構造体の名前、配列、または関数。
対応する pointer_name の指示先です。
制限事項 : 変数名、配列の宣言子、配列名を指定してください。
array_spec を指定する場合は、明示的な実体があるもの (定数または非定数のサイズを持つもの)、または仮のサイズを持つものを指定してください。
例: 2 つの指示先に対して Cray ポインタを宣言できます。
POINTER ( p, b ), ( q, c ) |
前述の例では、Cray ポインタ p とその指示先 b、Cray ポインタ q とその指示先 c を宣言しています。
例: 配列に対して Cray ポインタを宣言することもできます。
POINTER ( ix, x(n, 0:m) ) |
この例では、Cray ポインタ ix とその指示先 x を宣言しています。同時に、x は n × m+1 次元の配列であることを宣言しています。