Bonjour,
J'aimerais remplir une structure d'éléments de différents type en faisant une boucle.
Exemple de structure :
J'aimerais avoir un tableau de pointeurs contenant l'adresse de base de la structure et le décalage de chaque éléments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 struct Object{ char Name[20]; int Regulator; int PID ; float P ; char Ext[10]; };
Le but est d'avoir un tableau de structure et de pouvoir écrire :pObject[0] => adr de base de la structure (Name) : 100 (par exemple) pObject[1] => offset Regulator : 20 pObject[2] => offset PID : 22 pObject[3] => offset P : 24 pObject[4] => offset Ext : 28
Bien entendu ce code ne fonctionne pas ! Problème de type !pObject[0][0] = "blablabla" ; *(pObject[0] + &pObject[0][1]) = 15 ; *(pObject[0] + &pObject[0][2]) = 22 ; *(pObject[0] + &pObject[0][3]) = 56.123 ; *(pObject[0] + &pObject[0][4]) = "hahaha" ;
Et .. Il faudrait que j'utilise memcpy() pour copier le bon nombre de byte.
D'où ma question...
De quel type déclarer mon tableau pObject de pointeurs ? char * ou void * ?
Comment calculer les offsets des éléments ?
Merci pour vos solutions
Stéphane
Partager