Malloc de tableau dans structure.
Bonjour tout le monde !
Un petit message qui ne devrait normalement pas vous poser de problèmes, mais qui me pose quelques soucis ...
J'ai deux structures :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| /*Definition d'un étudiant */
typedef struct
{
char matricule[25]; /* Matricule unique. */
char nom[20];
char prenom[20];
Adresse adr;
double tabCotes[5];
double moyennePourcentage;
}Etudiant;
//Definition d'une classe
typedef struct
{
int nbEtudiants;
Etudiant *classe; // Classe d'étudiant. (Tableau)
int compteurMatricule;
}Auditoire; |
Je veux "mallocer" le Tableau d'étudiant (structure auditoire).
Pour cela, je lis les éléments présents dans un fichier binaire, dont voici le code source :
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 27
| void chargerEtudiants(Auditoire *auditoireA)
{
FILE* listeEtudiants = NULL;
listeEtudiants = fopen(DOC, "rb");
fread(auditoireA, sizeof(Auditoire), 1, listeEtudiants);
fclose(listeEtudiants);
printf("Chargement effectue des étudiants en memoire effectue !\n");
printf("il y a %d etudiants dans le fichier.\n\n", auditoireA->nbEtudiants);
/*
Initialisation du compteur de matricule (HE201XXX) au nombre d'étudiants présents
EX : S'il y a déjà 3 étudiants dans le fichier, le compteur sera à 201003
Car le prochain étudiant aura ce matricule là.
*/
auditoireA->compteurMatricule = 201000 + auditoireA->nbEtudiants + 2;
system("PAUSE");
afficherMenu(auditoireA);
} |
Je pensais donc Mallocer le tablea d'étudiant en faisant, dans la méthode chargerEtudiants :
Code:
auditoireA->classe = malloc(auditoireA->classe, sizeof(auditoireA->nbEtudiants * Etudiants
Malheureusement, cela ne fonctionne pas, et je ne sais pas trop comment m'y prendre ...
En espérant avoir une réponse de votre part,
Je vous souhaite une excellente journée !