Fichier en-tĂȘte pour une liste en C

/* Header file for the list concrete data type */

typedef struct cell *list;

struct cell
{
  void *head;
  list tail;
};

/* construct a new cell from an element that becomes the
   head of the new cell and a list that becomes the tail
   of the new cell */
extern list cons(void *element, list l);

/* free the first cell on a list and return the tail of the list */

extern list tail_and_free(list l);