« Structures de données en C/Les listes simples » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 27 :
La création d'une liste d'un élément demande d'allouer de la mémoire au gestionnaire de mémoire. Il convient de toujours tester le retour d'un <code>malloc</code> car la documentation dit que le retour peut être <code>NULL</code> si le système ne dispose plus de mémoire suffisante. Si l'allocation a réussi, il n'y a plus qu'affecter les champs de la structure <code>List</code>
 
List *list_create (<font color="blue">void</font> *data)
<pre>
{
List *list_create (void *data)
List *list = malloc (<font color="blue">sizeof</font> (*list)); <font color="green">/* allocation (en vert sur le diagramme) et affectation à la variable list (en bleu) */</font>
<font color="blue">if</font> (list) <font color="green">/* si l'allocation a réussi */</font>
List *list = malloc (sizeof (*list)); /* allocation (en vert sur le diagramme) et affectation à la variable list (en bleu) */
{
if (list) /* si l'allocation a réussi */
list->nextdata = NULLdata; <font color="green">/* affectation du champ nextdata à(en la liste viderouge) */</font>
{
list->datanext = dataNULL; <font color="green">/* affectation du champ datanext (enà rouge)la liste vide */</font>
}
list->next = NULL; /* affectation du champ next à la liste vide */
<font color="blue">return</font> list; <font color="green">/* retour de la liste (correctement allouée et affectée ou NULL) */</font>
}
}
return list; /* retour de la liste (correctement allouée et affectée ou NULL) */
</pre>
[[Image:Structures_de_données_en_C-list_create.png|108 px|Création d'une liste d'un élément]]