Я пытаюсь создать объединение, как показано ниже:
import ctypes as c
int_array = c.c_int * 10
char_array = c.c_char * 10
class Union(c.Union):
_fields_ = [("i", int_array), ("s", char_array)]
u = Union()
Но s
атрибут u
равен bytes
вместо массива символов.
>>> type(u.s)
<class 'bytes'>
Но если я создам экземпляр char_array
следующим образом:
>>> c = char_array()
>>> type(c)
<class '__main__.c_char_Array_10'>
Тогда все в порядке.
Что не так с моим кодом?