Structures imbriquées [Résolu]

draluorg 627 Messages postés vendredi 23 avril 2004Date d'inscription 25 novembre 2010 Dernière intervention - 30 mai 2007 à 04:01 - Dernière réponse : draluorg 627 Messages postés vendredi 23 avril 2004Date d'inscription 25 novembre 2010 Dernière intervention
- 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...
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Matt67 554 Messages postés samedi 6 septembre 2003Date d'inscription 6 mars 2010 Dernière intervention - 30 mai 2007 à 06:48
3
Merci
Bonjour,

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

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

ca passe ?

Matt...

Merci cs_Matt67 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Matt67
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 30 mai 2007 à 04:28
0
Merci
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++ (@++)<!--
Commenter la réponse de SAKingdom
draluorg 627 Messages postés vendredi 23 avril 2004Date d'inscription 25 novembre 2010 Dernière intervention - 30 mai 2007 à 14:00
0
Merci
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...
Commenter la réponse de draluorg
draluorg 627 Messages postés vendredi 23 avril 2004Date d'inscription 25 novembre 2010 Dernière intervention - 30 mai 2007 à 14:25
0
Merci
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...
Commenter la réponse de draluorg
SAKingdom 3213 Messages postés lundi 7 novembre 2005Date d'inscription 16 février 2009 Dernière intervention - 30 mai 2007 à 14:26
0
Merci
structure->membre

C++ (@++)<!--
Commenter la réponse de SAKingdom
draluorg 627 Messages postés vendredi 23 avril 2004Date d'inscription 25 novembre 2010 Dernière intervention - 30 mai 2007 à 14:31
0
Merci
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...
Commenter la réponse de draluorg

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.