Structures imbriquées [Résolu]

Signaler
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
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

Messages postés
549
Date d'inscription
samedi 6 septembre 2003
Statut
Membre
Dernière intervention
6 mars 2010

Bonjour,

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

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

ca passe ?

Matt...
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
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++ (@++)<!--
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

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...
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

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...
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
structure->membre

C++ (@++)<!--
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

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...