Bien le bonjour/bonsoir,

Je dispose de deux fonctions, que je vais vous donner ci-dessous :

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; 
}
et :

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 première, la valeur retournée est de type object_list *, donc un simple pointeur sur une structure de liste simplement chaînée.
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.