Bien le bonjour/bonsoir,
Je dispose de deux fonctions, que je vais vous donner ci-dessous :
et :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 object_list * List_Cons(object * O, object_list * pHead) { /* allocation of a new cell in the heap */ object_list * pNew = malloc(sizeof(object_list)); pNew->obj = O; /* equivalent to (*new).object = p; */ pNew->pNext = NULL; pNew->pNext = pHead; return pNew; }
Dans la première, la valeur retournée est de type object_list *, donc un simple pointeur sur une structure de liste simplement chaînée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 void Remove(object_list ** ppHead, object * O) { object_list * pH = *ppHead; if (pH->obj == O) { *ppHead = pH->pNext; free(pH); return; } while (pH->pNext->obj != O) { pH = pH->pNext; } object_list * tmp = pH->pNext; pH->pNext = pH->pNext->pNext; free(tmp); }
Dans la seconde, la valeur prise en paramètre est de type object_list **.
Je souhaiterai utiliser la valeur retournée dans la première, dans la seconde. De quelle façon procéder, puisqu'elles ne sont pas de même type.
Merci d'avance de vos réponses!
Cordialement.
Partager