前のページ|次のページ

ADDR関数

32ビットプラットフォームの変数のメモリアドレスを返します。

カテゴリ: 特殊
制限事項: 32ビットプラットフォームでのみ使用します。
操作: SAS Serverがロックダウン状態の場合、ADDR関数は実行されません。詳細については、SAS Processing Restrictions for Servers in a Locked-Down State (SAS言語リファレンス: 解説編)を参照してください。

構文

ADDR(variable)

必須引数

variable

変数名を指定します。

詳細

戻り値は数値です。変数の保存場所は実行ごとに変わる可能性があるため、ADDRで返される値も異なる場合があります。通常、ADDR関数はPEEK関数とPEEKC関数およびCALL POKEルーチンを組み合わせて使用されます。
64ビットプラットフォームでADDR関数を使用しようとすると、この制限が適用されることを示すメッセージがSASによってログに書き込まれます。従来のアプリケーションでADDRを使用している場合、アプリケーションを変更して、かわりにADDRLONGを使用します。ADDRLONGは、32ビットと64ビットのプラットフォームで使用できます。

比較

ADDR関数は、32ビットプラットフォームの変数のメモリアドレスを返します。ADDRLONGは、32ビットおよび64ビットプラットフォームの変数のメモリアドレスを返します。
注: ADDRLONGは32ビットと64ビットのプラットフォームで使用できるため、ベストプラクティスとしては、ADDRのかわりにADDRLONGを使用することをお勧めします。

この例では、変数FIRSTが保存されているアドレスを返します。
data numlist;
   first=3;
   x=addr(first);
run;

関連項目:

CALLルーチン:
前のページ|次のページ|ページの先頭へ