bonjour voici un programme sur lequel je code actuellement mais je n'arrive pas a resoudre le pb de core dumped de l'aide svp
j'ai mis en rouge la fonction ou se trouve l'erreur
et en bleu la ligne concerne
merci d'avance
voici mon programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>

typedef struct elt *Pelt;
typedef struct elt {
	char* nam;
	Pelt next;
}elt;

typedef struct liste{
	Pelt first;
	int size;
}*liste;

elt new_elt (char *n){
	elt p;
	p.nam = n;
	p.next = NULL;
	return p;
}


Pelt new_list(){ //fonction qui creer la liste simplement chaine
	Pelt o=malloc(sizeof(elt));
	o->nam = NULL;
	o->next = NULL;
	return o;
}

Pelt add_vid(Pelt lister, elt te){// ft qui ajout dans une liste vide
	Pelt list = lister;
	if(list!=NULL){
		list->nam= te.nam;
		list->next=NULL;
	}
	return list;
}

Pelt add_list_elt(Pelt list, elt e){
	assert(list!=NULL);
	Pelt temp = list;	
	Pelt t  = malloc(sizeof(elt));
	printf("--::%s---",e.nam);
	while(temp!=NULL){
		printf("-----2");
		t=temp;
		temp = t->next;
	}
	t->next->nam = e.nam; // l'erreur se trouve sur cette ligne
	t->next->next = NULL;
	return t;
}

Pelt add(Pelt list, elt e){
	Pelt p =malloc(sizeof(elt));
	if(list==NULL){
		p=add_vid(list,e);
	} else {
		p=add_list_elt(list,e);
	}
	return p;
}

void affich_list(Pelt r){
	Pelt e = malloc(sizeof(elt));
	e = r;
	while(e!=NULL){
		printf("conten:%s\n",e->nam);
		printf(" ////////// ");
		e=e->next; 
	}
	if(e==NULL){
		printf("\n fin de la liste \n");
	}
}

int main(void) {
	char* msg[]= {"bj","gtuio","df5f45","re","rt","ed","fr"};
	//elt n =new_elt(msg[2]);
	elt p =new_elt(msg[1]);
	Pelt l = new_list();
	printf("  -----main 0   ");
	//add_vid(l,n);
	printf(" -----main 1   ");
	add_list_elt(l,p);
	/**int a = 0;
	while(a<7){
		Pelt j=new_elt(msg[a]);
		printf("\nll:: %s\n",j->nam);
		add_elt(l,j);
		affich_list(l);
		free(j);
		a++;
	}**/
	//printf("\n df::%s\n",msg[2]);
	affich_list(l);
	/**liste m =init_tete(p);
	printf("affiche de la tete et la posit \n");
	printf("%s  pos: %d",m.first->nam,m.size);**/
	printf("-----");
	return EXIT_SUCCESS;
}