Bonjour, je n'arrive pas à manipuler un tableau de pointeurs de structures.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
typedef struct{
	Skipper *skipper;
	Bateau *bateau;
	int iNum;
} Competiteur;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
int main(int argc, char * argv[]){
	Skipper *leSkipper = NULL;
	Bateau *leBateau = NULL;
	Competiteur *leCompetiteur = NULL;
 
	int nbComp = -1;
	int *pNbComp = &nbComp;
 
	Competiteur *tabComp=NULL;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
void creationCourse(Competiteur **tabCompetiteur, int *pNbComp){
	if (*pNbComp==-1)
	{
		tabCompetiteur = malloc (sizeof(Competiteur));
		*pNbComp=0;
		printf("\tLa course a été crée\n");
	}
	else 
	{
		printf("\tLa course a déjà été crée\n");
	}
}
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
int ajouterCompetiteur(Competiteur **tabComp, Competiteur *competiteur, Skipper *pSkipper, Bateau *pBateau,int *pNbComp){
 
	/* declarations */
	//Competiteur *leCompetiteur=NULL;
	int iNum = 0;
 
	/* creation */
 
	if(*pNbComp < 0){
		printf("\tVeuillez créer une course\n");
	}
	else
	{
		ajouterSkipper(&pSkipper);
		ajouterBateau(&pBateau);
		creerCompetiteur(&competiteur,&pSkipper,&pBateau,iNum);
		printf("\t***********************************\n");
		printf("\t**       Votre competiteur       **\n");
		printf("\t***********************************\n");
		ajoutCompTab(tabComp, &competiteur, pNbComp);
		scanf("%*c");
 
	}
	return (0);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void ajoutCompTab(Competiteur **tabCompetiteur, Competiteur **leCompetiteur, int *pNbComp){
 
	tabCompetiteur[*pNbComp] = *leCompetiteur;
        afficherCompetiteur(tabCompetiteur[*pNbComp]);
	*pNbComp=*pNbComp+1;
	printf("%d",*pNbComp);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void afficheCourse(Competiteur **tabComp,int *pNbComp){
	int i=0;
	for (i=0; i<(*pNbComp); i++){
		printf("\t***********************************\n");
		afficherCompetiteur(tabComp[i]);
	}
 
	printf("APPUYER SUR ENTREE POUR CONTINUER\n");
	scanf("%*c");
}
J'ai un menu pour accéder aux fonctions .
Je créer la course, puis j'ajoute des compétiteurs.
Ensuite lorsque j'affiche la liste des compétiteurs, seul le premier s affiche puis j'ai un core dump.

J’espère avoir été assez clair, merci d avance.