Structures imbriquées

Résolu
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 30 mai 2007 à 04:01
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 30 mai 2007 à 14:31
Salut a tous,

Je recontre un probleme en creant des structures imbriquées :(

Voici un exemple type de mes structures:

typedef struct _SUB_SUB_SUB_STRUCTURE {
   char                         Name[255];
   int                          Type;
   char                         Data[1024];  
} SUB_SUB_SUB_STRUCTURE;



typedef struct _SUB_SUB_STRUCTURE_B {
   char                         Path[255];
   char                         Name[255];
   SUB_SUB_SUB_STRUCTURE   Values[50];
} SUB_SUB_STRUCTURE_B



typedef struct _SUB_SUB_STRUCTURE_A {
   char                         Name[255];
   char                         Path[255];
} SUB_SUB_STRUCTURE_A



typedef struct _SUB_STRUCTURE  {
   SUB_SUB_STRUCTURE_A         PropertyA[50];
   SUB_SUB_STRUCTURE_B         PropertyA[50];
} SUB_STRUCTURE;



typedef struct _STRUCTURE {
   char                         Name[255];
   char                         Path[255];
   SUB_STRUCTURE                Version[255];
} STRUCTURE;


Le probleme c'est que quand je fais :
STRUCTURE NewStructure;

J'ai droit a un gros plantage de mon appli :(
Si vous pouviez m'eclairer a ce sujet...

Merci d'avance
++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...

6 réponses

cs_Matt67 Messages postés 549 Date d'inscription samedi 6 septembre 2003 Statut Membre Dernière intervention 6 mars 2010 3
30 mai 2007 à 06:48
Bonjour,

la taille de NewStructure = 162 925 510 octets...
et si tu fais

STRUCTURE *NewStructure = NULL;
NewStructure = (STRUCTURE *)malloc(sizeof(STRUCTURE));

ca passe ?

Matt...
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
30 mai 2007 à 04:28
Premièrement, il te manque un ; après SUB_STRUCTURE_B et SUB_STRUCTURE_A. Ensuite dans SUB_STRUCTURE, tu as deux tableaux de même nom.
Ensuite, ce qui cause le plantage, c'est probablement un stackoverflow. Tu demande une quantité trop grande de mémoire et la pile saute.

C++ (@++)<!--
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
30 mai 2007 à 14:00
Salut,

SAKingdom> Pour les petites erreurs c'est en recopiant trop vite pour poster, ces erreurs n'existent pas dans mon projet sans quoi il n'aurait pas compilé...

Matt678> Oui de cette facon ca a l'air de marcher ^^

Merci a tous les deux de vous etre penché sur mon probleme!

++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
30 mai 2007 à 14:25
Re,

Eh par contre comment fais pour utiliser les membres de la structure depuis le pointeur ?

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
30 mai 2007 à 14:26
structure->membre

C++ (@++)<!--
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
30 mai 2007 à 14:31
Wow reponse en 37 secondes! ^^ joli!

Ok grand merci, je ne savais justement pas a quoi servait ce "->"

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
0
Rejoignez-nous