Heu non en supprimant le pointeur ça me fait une dizaine d'erreurs. J'ai modifié un peu mon main et maintenant ça affiche correctement.
Voici mon code :
Et voici mon appelle dans le main :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Cellule_compagnie *initialisationCompagnie() { Cellule_compagnie *cellule = malloc(sizeof(*cellule)); Liste_compagnie liste = malloc(sizeof(*liste)); if(liste == NULL || cellule == NULL) exit(EXIT_FAILURE); cellule->comp.nom = malloc(42 * sizeof (char)); cellule->comp.nom = strcpy(cellule->comp.nom, "Metalman"); strncpy(cellule->comp.acronyme, "ATA", 3); cellule->suivant = NULL; liste = cellule; printf("%s\n",cellule->comp.nom); return liste; }
Cela fonctionne bien mais j'ai plusieurs warnings dont je dois à tout prix me débarrasser :Code:Liste_compagnie *liste_compagnie = initialisationCompagnie();
Code:
1
2
3
4 main.c: In function main: main.c:19:3: attention : implicit declaration of function initialisationCompagnie [-Wimplicit-function-declaration] main.c:19:38: attention : initialization makes pointer from integer without a cast [enabled by default] main.c:19:20: attention : unused variable liste_compagnie [-Wunused-variable]