Merci de ton aide.
Je crois en fait finalement ke c´est du C ke je fais, paske en cours j´ai jamais vu "new" comme mot clé à part en Java.
En fait, la fonction saisie je l´ai copié sur internet paske la mienne ne marchait pas du tout. Mais bon, faudrait ke j´la refasse à ma facon.
Pour le gets, t´as tt à fait raison, je vais utiliser le scanf.
J´ai un peu modifié la fonction saisie et j´ai pas initialisé a ds int main().
Finalement voila la fonction saisie (et elle marche enfin)
void saisie(liste *p)
{liste nouveau; *p=0;
do {nouveau=malloc(sizeof(*nouveau));
scanf("%d",&nouveau->val);
scanf("%9s",nouveau->nom);
nouveau->suite=*p;
*p=nouveau;
} while (nouveau->val!=0);
free(nouveau);
}
Maintenant je vais rajouter les autres fonctions au programme : supprimer les chainons dont le nom est "Dupont" et ceux dont la valeur est 0.
Ca s´annonce mal pour moi, vu ke j´maitrise pas du tout la fonction strcpy pr comparer les chaines de caractères.
En tout cas, merci bcp de ton aide 
J´suis soulagé d´avoir avancé aujourd´hui.