#include #include struct maillon { int val; struct maillon *adr; }; typedef struct { struct maillon *tete, *queue; } File; void CreerFile(File *pf) { pf->tete = NULL; pf->queue = NULL; } int FileVide(File f) { return (f.tete == 0); } int FilePleine(File f) { return 0; // jamais pleine } int Enfiler(int x, File *pf) { struct maillon *p; if (FilePleine(*pf)) return 1; p = malloc(sizeof(*p)); if (p == 0) return 1; p->val = x; p->adr = 0; if (pf->queue) pf->queue->adr = p; else pf->tete = p; pf->queue = p; return 0; } int main() { File f; CreerFile(&f); if (FileVide(f) == 1) printf("La file est vide.\n"); else printf("La file n'est pas vide.\n"); Enfiler(4, &f); if (FileVide(f) == 1) printf("La file est vide.\n"); else printf("La file n'est pas vide.\n"); return 0; }