I think the easiest way could be to write get () / set () functions for each element in the structure (for example: get_addr (), which gets the address value), and then:
Option 1 (I think this is the easiest): compile your c-code as a dll file with get / set and load it in python to call the get functions (check my post here for using dll in python, and this one Q & A can be useful for using .so files in linux
Option 2: you can use SWIG to get the pyd file and import it into python to call the get / install functions
using this method, python only deals with pointee pointer pointers and does not use memory addresses.
source share