Bonjour tout le monde!

Alors voilà j'ai un petit problème avec une fonction que je suis entrain de créer en langage C, vous pourriez peut être m'aider, du moins c'est ce que j'espère parce que je désespère -_-

Alors le problème c'est que je maitrise encore pas trop les pointeurs et j'essaie de récupérer une liste correspondant à une case d'un tableau de pointeur.

Alors le truc c'est que encore si je n'arrivais pas à utilisé ma liste à la sortie de ma fonction, mais là ce n'est pas le cas après une boucle while quand j'essaie de l'afficher, pas moyen.

Ce qui m'étonne d'autant plus c'est que ma liste LO je l'a récupère très bien.

Grille est une grille de sudoku rempli, ou dans les cases vident il y a un 0.

Voilà la fonction(situé en dessous de mon main):

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
void Init_Listes(Liste_couleur CC[9][9],Liste_case LO,int Grille[9][9])
{
	int i,j,x,val,ligne_ouv,colone_ouv,val_temp,colone_reg,ligne_reg,changement;
 
 
	for(i=0;i<=8;i++)
    {
        for(j=0;j<=8;j++)
        {
			if(Grille[i][j]==0)
			{
				LO=Ajout_en_Tete_Case(i, j, LO);
			}
		}
	}
 
	//Initialisation liste de couleur
	for(i=0;i<=8;i++)
	{
		for(j=0;j<=8;j++)
		{
			for (val=1; val<=9; val++) 
			{
				CC[i][j]=Ajout_en_Tete_Couleur(val, CC[i][j]);
			}
		}
	}
	while (LO!=NULL)
	{
		ligne_ouv=LO->ligne;
		colone_ouv=LO->colone;
 
		printf("%d %d\n", ligne_ouv, colone_ouv);
 
		//Test de la ligne
 
		while (CC[ligne_ouv][colone_ouv]!=NULL) 
		{
			for (x=0; x<=8; x++) 
			{
				changement=0;
				val_temp=Grille[ligne_ouv][x];
				if (val_temp==CC[ligne_ouv][colone_ouv]->candidate) 
				{
					CC[ligne_ouv][colone_ouv]=Suppr_Val_Couleur(val_temp, CC[ligne_ouv][colone_ouv]);
					changement=1;
					break;
				}
			}
			if (changement!=1) 
			{
				CC[ligne_ouv][colone_ouv]=CC[ligne_ouv][colone_ouv]->suivant_l_couleur;
			}
		}
		while (CC[ligne_ouv][colone_ouv]!=NULL)
		{
			printf("%d", CC[ligne_ouv][colone_ouv]->candidate);
			CC[ligne_ouv][colone_ouv]=CC[ligne_ouv][colone_ouv]->suivant_l_couleur;printf("test");
		}
		LO=LO->suivant_l_case;
	}
}
et mes déclarations externe au dessus du main:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
int Grille[9][9]; 
Liste_case LO; 
Liste_couleur CC[9][9];

Merci d'avance pour votre aide.
PS: pour l'indentation j'ai vais ce que j'ai pu :s dsl