Bonjour , je suis débutant en C .

Je dois réaliser mon premier programme traitant des listes chainées chose élémentaire en C qui utilise les pointeurs (chose nouvelle pour moi).

J'aimerais avoir un peu d'aide .

Je dois réaliser une fonction premier_elem_sup_ou_egal qui a pour argument un entier u et qui est de type pointeur .

Ma structure est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
struct elem{
	int val;
	struct elem *lien;
};
voici l'exercice


Voici ma production (après avoir lu la FAQ de developpez etc)


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
struct elem *premier_elem_sup_ou_egal(int u)
{
	struct elem *p;
 
	struct elem *L;
 
 
	L = (elem*)malloc(sizeof(struct elem));
 
	p = L;
 
 
 
	while (p != NULL && p->val < u)
	{
		p = p->lien;
	}
 
	return p;
}
 
 
 
main()
 
{
	struct elem *L;
 
	struct elem *P;
 
free(L);
L->val = 10;
free(L->lien);
(L->lien)->val = 11;
free((L->lien)->lien);
(L->lien->lien)->val = 12;
free((L->lien->lien)->lien);
(L->lien->lien->lien)->val = 13;
L->lien->lien->lien)->lien = NULL;
 
p = premier_element_sup_ou_egal(14);
 
if(p != NULL)
{
printf("%d",p->val);
}
else
{
printf("L'element recherche n'existe pas");
}
}
 
 
}
J'ai un peu du mal avec le c(p) <- c(L) ai je le droit d'écrire p = L?

merci beaucoup de votre aide .