Structures imbriquées + allocation
Bonsoir,
je voudrais avoir une confirmation sur mon code.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
typedef struct compagnie{
char *nom;
char acronyme[3];
}Compagnie;
typedef struct cellule_compagnie{
Compagnie comp;
struct cellule_compagnie *suivant;
}Cellule_compagnie, *Liste_compagnie;
int main(){
/*Allocation dynamique */
Liste_compagnie compagnie;
compagnie=(Cellule_compagnie*)malloc(sizeof(Cellule_compagnie));
/*Test si allocation == NULL */
(...) |
Je voudrais savoir, comme ici, on a une structure dans une structure, dois-je allouer aussi la 2eme structure?
Dois-je aussi allouer le char *nom ?
Que ferez-vous pour que sa soit plus propre?
Sachant que les structures au total sont:
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 avion{
char identifiant[6];
int carburant;
int consommation;
char heure_decollage[4];
Compagnie *compagnie;
}Avion;
typedef struct cellule_avion{
Avion avion;
struct cellule_avion *suivant_compagnie;
struct cellule_avion *precedent_compagnie;
struct cellule_avion *suivant_attente;
}Cellule_avion, *Liste_avions;
typedef struct compagnie{
char *nom;
char acronyme[3];
Liste_avions avions_compagnie;
}Compagnie;
typedef struct cellule_compagnie{
Compagnie comp;
struct cellule_compagnie *suivant;
}Cellule_compagnie, *Liste_compagnie; |
Merci d'avance.