Allocation dynamique de structures imbriquées
Je suis nouveau en programmation et nouveau sur ce super site
je code un petit programme en C assez simple mais qui pose un problème si j'alloue dynamiquement de la mémoire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| typedef struct
{
int numero;
char * Ref_Produit;
char * Designation;
double Quantite;
double PU_HT;
double Taux_TVA;
double Montant_TVA;
double Total_TTC;
} LigneCommande ;
typedef struct
{
int NombreDeLignesParFacture ;
char * Date_Facturation;
char * Ref_Facture ;
char * Idex_Bon_Commande ;
LigneFacture * Ligne ; /* Pointeur sur la structure LigneCommande */
double Montant_Total_Facture_HT;
double Montant_Remise_Facture;
double Montant_Total_TVA;
double Montant_Total_TTC;
} Facture; |
quand j' essaye d'alloué dynamiquement de la mémoire pour la structure Facture et son champ Ligne qui est un pointeur sur la structure LigneCommande j'obtient une erreur lors de compilation
voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Facture * tabFacture ;
printf("Nombre de facture ?: ");
scanf("%d",&nombreDeFacture);
getchar();
tabFacture = (Facture *) realloc( tabFacture , (nombreDeFacture + 1 ) * sizeof(Facture));
printf("Nombre de lignes par la facture ");
scanf("%d",&nombreDeLignesParFacture);
getchar();
for( i = 0 ; i < nombreDeFacture ; i++ )
facture[i]->Ligne = (LigneFacture*) malloc(nombreDeLignesParFacture * sizeof(LigneFacture)); |
Pouvais vous m'aider ?