В C указатель на массив хранит тот же адрес памяти, что и указатель на первый элемент в массиве. Поэтому:
class foo(Structure):
_fields_=[("i",c_int),
("b1",POINTER(c_int)),
("w1",POINTER(c_float))]
Вы можете получить доступ к элементам массива, используя целочисленные индексы. Например: myfoo.w1[5]
.
Было бы лучше, если бы стиль кодирования C объявлял w1
как float *w1
, так что вы можете получить доступ к элементам массива, используя myfoo->w1[5]
вместо необходимости разыменования дважды.