Structure liste chainée (file)

Résolu
Salut tout le monde,
je me trouve en face d'un tit problème que j'arrive même pas à le comprendre, et pour passer directement au sujet voici le code :
#include <stdio.h>
#include <stdlib.h>
#include "Libra.h"

/*
 * 
 */
int main(int argc, char** argv) 
{
    patient f; 
    int x; 
    char name1[100]="BOB";
    char name2[100]="MAX";
    char name3[100]="ANGEL";
    enqueue(&f, name1, 150);
    enqueue(&f, name2, 321);
    enqueue(&f, name3, 555);
    
    
    display(f);
    
           
    return (EXIT_SUCCESS);
}


"Libra.h"
/* Structure of the element "Patient" */
typedef struct file file;
struct file 

{
        char *name[100];
        int priority;
	file* suiv;
};
typedef file* patient;
patient queue;

/* Functions of queues */

/* Enqueue */
void enqueue(patient *f,char name[100], int newPriority)
{
    patient newf;    
    newf= malloc(sizeof(newf));   
    newf->name[100]= name;
    newf->priority= newPriority;
    newf->suiv= NULL;
    if (*f==NULL)
    {
        *f= newf;
        queue= newf;
    }
    else
    {
        queue->suiv= newf;
        queue= newf;
    }
    
}

/* Display */
void display(patient f)
{
    patient recf;
    recf= f;
    while (recf!= NULL)
    {
        printf("\t%s  %d ", recf->priority);
        recf= recf->suiv;
    } 
}

j'ajoute, le problème c'est lors de l'exécution, et je pense qu'il est en chaine de caractère qui est dans la fonction 'Enqueue'.....
Merci d'avance !! ^_^

1 réponse

  1. Contributeur
    newf->name[100]= name;
    cette instruction, c'est n'importe quoi, ce n'st pas comme ça qu'on copie les chaines en C, mais avec strcpy
    1. Merci Bcp, vous avez raison je vais me concentrer bien la prochaine fois ^_^