我正在尝试对我正在包装的库中找到的结构进行建模,其中结构有一个像这样的指针指针:
typedef struct item_t {
char* name;
}
typedef struct container_t {
item_t **items;
}
在使用Python ctypes
模块的Structure
类进行建模时,如何表示具有可变长度的指针数组?
答案 0 :(得分:1)
您可以使用POINTER
并将item_t **
转换为POINTER(POINTER(item_t))
:
from ctypes import *
class item_t(Structure):
_fields_ = [
('name', c_char_p),
]
class container_t(Structure):
_fields_ = [
('items', POINTER(POINTER(item_t))),
]