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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include <stdio.h>
typedef struct objet {
int a;
int b;
} un_objet;
typedef struct maillon {
un_objet * infos;
struct maillon * suivant;
} un_maillon;
un_maillon *ajouterElement(un_maillon *le_maillon, un_objet *l_objet) {
un_maillon *nouveau_maillon = malloc(sizeof(un_maillon));
nouveau_maillon->suivant = NULL;
nouveau_maillon->infos = malloc(sizeof(un_objet));
nouveau_maillon->infos->a = l_objet->a;
nouveau_maillon->infos->b = l_objet->b;
if (le_maillon == NULL)
return nouveau_maillon;
else {
un_maillon *maillon_courant = le_maillon;
while (maillon_courant->suivant != NULL)
maillon_courant = maillon_courant->suivant;
maillon_courant->suivant = nouveau_maillon;
return le_maillon;
}
}
int main(void)
{
un_maillon *le_maillon = NULL;
un_objet l_objet = { 12, 56 };
le_maillon = ajouterElement(le_maillon, &l_objet);
printf("%d\t%d", le_maillon->infos->a, le_maillon->infos->b);
return 0;
} |
Partager