Creiamo una libreria in C

Si al di la del fatto che è sbagliato, se voglio risalire alla struttura dal dato come faccio? l'unica che mi viene e quella di operare l'aritmetica dei puntatori, ma questa cosa funziona solo se la struttura contiene variabili stivate in ram in sequenza, che è la regola poi, solo che a me questa regola stava stretta perchè volevo (per risparmiare) fare in modo che ogni campo punta ad un indirizzo di memoria nel quale è conservato il valore del registro. Insomma una magia che la struct non mi permette di fare.

quindi tu hai una struct di puntatori. vero che i dati sono sparsi per la ram, ma la dimensione della struct resta fissa, 2byte a puntatore (come gli int). Come tu stesso hai detto, essendo nella struct i puntatori sono scritti sequenzialmente, quindi l'indirizzo del primo puntatore nella struct è l'indirizzo della struct. Quindi con un pò di algebra, e sapendo in che posizione si trova il puntaore che possiedi, puoi arrivare all'indirizzo della struct.

harcodare vuol dire usare valori fissi

una variabile static è visibile in tutto il programma, ed esiste una sola volta anche su più utanze della classe. In pratica è una variabile condivisa.