目次→
演算子→
ポインタ演算子→
Operator VARPTR (Variable pointer)←オリジナル・サイト
数値変数やオブジェクトのアドレスを返します。
演算子 @ (のアドレス) と同じものです。
構文:
構文:
result = VarPtr
( lhs )
パラメタ:
lhs
変数かオブジェクト。
T
任意のデータ型。
戻り値:
変数やオブジェクトのアドレスを返します。
記述:
この演算子は、演算対象のアドレスを返します。
配列を演算対象にできませんが、配列の要素を演算対象にすることはできます。
例えば、
"VarPtr(myarray(0))" は、
"myarray(0)" のアドレスを返します。
演算子 @ (のアドレス) を、変数かオブジェクトに使うと、
VarPtr と同じ動作をします。
例:
Dim a
As Integer, addr
As Integer
a =
10
'' addr に、a のアドレスを代入します
addr =
CInt( VarPtr(a
) )
'' a の、すべての4バイト(INTEGERのサイズ)を変えます。
Poke Integer, addr, -
1000
Print a
'' addr に、a のアドレスを代入します(上と同様)
addr =
CInt( @a
)
'' 最下位もしくは最上位のバイトを表示します。
'' 最下位か最上位かは、CPU(Motorola か Intel) のエンディアンに依存します。
Print Peek
( addr
)
Sleep
例2: ポインタ演算子で取得する値
QBからの違い:
参照: