Передача массива различных типов в функцию - PullRequest
0 голосов
/ 16 января 2019

Как мне построить, передать и успешно прочитать массив различных типов в / в функции?

Я новичок в использовании ctypes в Python и никогда раньше не использовал указатели, поэтому я немного запутался. Я пытаюсь построить массив, состоящий из разных типов, скажем, ['m', 3.0, 2.0] а затем передать его в функцию и в функции успешно прочитать массив.

Я могу построить массив:

class Array(Structure):
    _fields_ = [('typ', c_char), ('m', c_float), ('s', c_float)]

Теперь я не знаю, как правильно читать это в функции. Я пробовал разные вещи

arr = input_arr
arr = ctypes.POINTER(input_arr)
arr = ctypes.cast(input_arr, ctypes.POINTER(ctypes.c_float*3))
arr = ctypes.cast(input_arr, ctypes.POINTER(ctypes.c_char)+ctypes.POINTER(ctypes.c_float*2))

Может быть, есть другой путь без строительства class Array?

...