As any good C programmer knows, a single value won't get you that far. What will really get us going are arrays!
>>> c_int * 16 <class '__main__.c_long_Array_16'>
This is not an actual array, but it's pretty darn close! We created a class that denotes an array of 16
Now all we need to do is to initialize it:
>>> arr = (c_int * 16)(*range(16)) >>> arr <__main__.c_long_Array_16 object at 0xbaddcafe>
arr is an actual array that contains the numbers from 0 to 15.
They can be accessed just like any list:
>>> arr 5 >>> arr = 20 >>> arr 20
And just like any other
ctypes object, it also has a size and a location:
>>> sizeof(arr) 64 # sizeof(c_int) * 16 >>> hex(addressof(arr)) '0xc000l0ff'