Python Language tableaux de type ctypes


Exemple

Comme tout bon programmeur C le sait, une seule valeur ne vous mènera pas aussi loin. Ce qui va vraiment nous faire avancer, ce sont les tableaux!

>>> c_int * 16
<class '__main__.c_long_Array_16'>

Ce n'est pas un tableau réel, mais c'est assez proche! Nous avons créé une classe qui dénote un tableau de 16 int s.

Il ne reste plus qu'à l'initialiser:

>>> arr = (c_int * 16)(*range(16))
>>> arr
<__main__.c_long_Array_16 object at 0xbaddcafe>

Maintenant, arr est un tableau qui contient les nombres de 0 à 15.

Ils sont accessibles comme n'importe quelle liste:

>>> arr[5]
5
>>> arr[5] = 20
>>> arr[5]
20

Et tout comme n'importe quel autre objet ctypes , il a également une taille et un emplacement:

>>> sizeof(arr)
64 # sizeof(c_int) * 16
>>> hex(addressof(arr))
'0xc000l0ff'