Salut à tous,

J'ai sous les yeux un bout de code, que j'aimerais être sur de comprendre :

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
19
20
21
22
23
24
25
26
 
void sup_elem(etudiant *elem_supp)
{
  int num;
  etudiant *succ, *prec;
 
  succ = elem_supp->succ;
  prec = elem_supp->prec;
 
if(succ != NULL) //il y a ue table suivante dans la table
    {
        succ->prec = prec;
    }
 
    if(prec != NULL) //
    {
        prec->succ = succ;
    }
 
    else //Il s'agit du premier de la liste
    {
        num = hash(elem_supp->nom_etud);
        table_hash[num] = succ;
    }
 
}
Du coup, si je comprends bien, ça veut dire que la fonction prend en paramètre une structure « etudiant », il y a une variable « num » et 2 variables de pointeur de type « etudiant » qui sont « succ » et « prec ».

Si « succ » n'est pas égal à NULL, alors le « succ » du « prec » sera égal au « prec » ;
Si « prec » n'est pas égal à NULL, alors le « prec » du « suiv » sera égal au « suiv » ;

… sinon on instancie la variable « num » avec le nom de l’étudiant et la « table_hash ». Enfin, le nom de la table sera instancié au « suiv ».

J'ai un doute quand la compréhension de l'explication.

Merci de l'aide