ポインターはPythonでは一般的ではなく、var宣言型でもありません。私はPythonでこれをやろうとしています。
C ++:
...a function
flt32 f;
int32 sign, exp, man, *tms;
tms = (int *) &f;
...(operations)
*tms = sign | exp | man;
return (f);
ご覧のとおり、データをtms
指していますが、 (ところで、この関数は完全に機能します)の一部にすぎません。f
int
float
ctypesを使用すると、Pythonでポインターを使用できます。
from ctypes import *
f = c_float(12.3)
tms = pointer(f) # tms should be: tms = c_int32(value)
print tms.contents.value #12.3000001907
ここでの問題は、tms
すぐにの型になるf
ため、両方の変数がfloatになることです(そうするtms
必要があります。Pythonの変数の値
とちょうど一致するポインターを使用することは可能ですか?tms = c_int32(a_value))
int
float