Allouer une variable temporaire qui est un pointeur vers la structure de données:
PRODUCT_DATA * newproduct-
Utilisez malloc () pour créer un nouvel élément, vérifiant toujours pour une erreur:
if ((newproduct = malloc (sizeof (PRODUCT_DATA))) == NULL) {abort () -}
Remplissez les champs du nouvel élément. Définissez sa "Suivant" champ à NULL:
newproduct-gt; product_code = newcode-
newproduct-gt; product_size = newsize-
newproduct-gt; = null-côté
Définissez la variable de la tête. Si la variable de la tête est NULL, ceci est le premier élément ajouté à la liste, donc définir la variable de la tête pour pointer vers elle:
if (! products_head) products_head = newproduct-
Préparez-vous à une autre variable. Dans d'autres cas, la queue variable pointe sur le dernier élément de la liste, de sorte mis sa prochaine valeur pour pointer vers le nouvel élément:
d'autre products_tail-gt; next = newproduct-
Mettre à jour la queue pour pointer vers le nouvel élément dernier, dans les deux cas:
products_tail = newproduct-