ctypes 指向 numpy 数组中间的指针

2024-02-16

我知道如何获取指向 numpy 数组开头的 ctypes 指针:

a = np.arange(10000, dtype=np.double)
p = a.ctypes.data_as(POINTER(c_double))
p.contents
c_double(0.0)

但是,我需要将指针传递给元素 100,不复制数组。 一定有一个简单的方法可以做到,但找不到。

任何提示表示赞赏。


对 numpy 数组进行切片会创建一个视图,而不是副本:

>>> a = numpy.arange(10000, dtype=numpy.double)
>>> p = a[100:].ctypes.data_as(ctypes.POINTER(ctypes.c_double))
>>> p.contents
c_double(100.0)
>>> a[100] = 55
>>> p.contents
c_double(55.0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ctypes 指向 numpy 数组中间的指针 的相关文章

随机推荐