#include #include struct maillon_ { char c; struct maillon_* next; }; typedef struct maillon_ maillon; typedef maillon* file; void push(file* f, char c) { maillon* m = calloc(1, sizeof(maillon)); m->c = c; if (*f == NULL) { *f = m; } else { file* start = f; file ff = *f; while (ff->next != NULL) ff = ff->next; ff->next = m; f = start; } } char pop(file* f) { char c = (*f)->c; *f = (*f)->next; } int empty(file f) { return f == NULL; }