Je suis débutant en langage c et j'adore ce langage. Mais il y a quelque chose que je ne comprends pas sur le cour d'openclassroom sur les files.
Je ne comprends pas pourquoi on teste si la file est nulle dans le fonction enfiler. Pouvez vous m'éclairer ?
Merci pour votre aide.
void enfiler(File *file, int nvNombre)
{
Element *nouveau = malloc(sizeof(*nouveau));
if (file == NULL || nouveau == NULL) // Pourquoi on test si la file est nulle ici ?
{
exit(EXIT_FAILURE);
}
nouveau->nombre = nvNombre;
nouveau->suivant = NULL;
if (file->premier != NULL) /* La file n'est pas vide */
{
/* On se positionne à la fin de la file */
Element *elementActuel = file->premier;
while (elementActuel->suivant != NULL)
{
elementActuel = elementActuel->suivant;
}
elementActuel->suivant = nouveau;
}
else /* La file est vide, notre élément est le premier */
{
file->premier = nouveau;
}
}
typedef struct s_File {
..... ;
struct s_File *premier;
} File;
void enfiler(File *file,int nbr) {
// ton code
}
int main(void) {
File *tete=NULL;
enfiler(tete,666); // crash dans la fonction enfiler sans le test ligne 4
....
return(0);
}
- Edité par edgarjacobs 11 septembre 2019 à 19:17:07
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent