【发布时间】:2016-12-15 10:05:34
【问题描述】:
我想要一个类似指针的函数。由于我只允许将int 作为参数传递,并且我希望能够将所有类型的数据传递给函数。 (我无法修改它在 SDK 中硬编码的这个函数)
所以我想使用一个变量的 id,然后将该值重新分配给另一个值,该值将在我的函数中。
我希望有这样的人在工作
import ctypes
a = 10
b = 12
print b #here I want 12
ctypes.memset(id(b), a, 8)
print b #here I want 10
使用python类型的可能性很大,这样我也可以传递一个可调用的对象。
【问题讨论】:
-
你也可以将
long作为参数传递吗? -
文档说 int 但我测试了很长时间它工作。使用 long 而不是 int 有什么好处?无论如何,感谢您花时间回答
-
您可以使用列表:
a=[10]; b=[12]; print b[0]; b=a; print b[0]; a[0]=8; print b[0]; -
不,我不能,因为我不能将列表作为参数传递:/ a 将在其他范围/脚本中定义,所以我真的需要像这样的指针