Bonjour,

Suite à mon autre post, je me relance dans les listes simplement chaînées...
J'ai le fameux "erreur de segmentation", ce qui veut dire que j'accede à une zone de mémoire qui n'est pas pour mon programme, ceci probablement du à un mauvais usage d'un pointeur...

J'ai cherché jusqu'à très tard hier mais j'ai pas trouvé l'erreur
L'erreur intervient sur la fonction un élément :
Voici la structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
typedef struct client
	{
		char *login;
		char *passwd;
		int fd;
		struct client *suivant;
	} client;
Voici la fameuse fonction qui déraille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
void ajouter_client (client** p, char log[16], char mdp[16], int fd)
{
	client* new = malloc(sizeof (client));
 
	new->login = log;
	new->passwd = mdp;
	new->fd = fd;
	new->suivant = NULL;
	(*p)->suivant = new;
}
Son appel dans le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#include "liste.h"
#include <stdio.h>
 
int main()
{
	client *mes_clients = NULL;
 
	ajouter_client(&mes_clients,"momo","toto",5);
 
	return 0;
}
J'espere que vous aurez des meilleurs yeux que moi !
Merci pour vos réponses
Sorry