Je voudrais savoir si l'on peut mettre un pointeur de fonction ds une structure?
SI oui comment fait-on la declaration puis l'initialisation et enfin l'utilisation?
En resumé comment on s'en sert?
Merci
 pointeur de fonction
 pointeur de fonction
				
				
						
							
							
						
						
				Je voudrais savoir si l'on peut mettre un pointeur de fonction ds une structure?
SI oui comment fait-on la declaration puis l'initialisation et enfin l'utilisation?
En resumé comment on s'en sert?
Merci
 
 
				
				
						
						
				Salut,
Oui c'est possible:
Pour la déclaration:
fonction est un pointeur sur une fonction qui prend en paramètre deux int et qui retourne un int
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
fonction2 est un pointeur sur une fonction qui prend en paramètre un char* et qui retourne un int*
Pour simplifier tu peux utiliser un typedef:
typeFonc est un pointeur de fonction qui ne prend aucun paramètre et retourne un int...
Code : Sélectionner tout - Visualiser dans une fenêtre à part typedef int (*typeFonc)(void);
Tu l'utilises ensuite comme cela:
Au final, dans une structure tu peux faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part typeFonc monPointeurSurFonction;
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
Et tu l'utilise comme ca:
Et voilà !
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Je te conseille d'utiliser des typedef au moins tu ne declares qu'une seule fois la fonction et ensuite tu utilises la définition. Le code est plus lisible...
Sinon tu peux également utilisés les pointeur de fonctions en faisant un truc du genre:
Cela revient exactement au même de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part (*fonc) (0);
Ca rend le code un peux plus chiant a lire donc je te le déconseille...
Code : Sélectionner tout - Visualiser dans une fenêtre à part fonc (0);
a++
Bon courage
 
			
			






 
			
			 
  
 

 
 
				
				
						
						
				Juste un mot: on peut faire un typedef de fonction, sans pointeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
							
						
				oui mais comme on n'utilisera jamais de fonction dans le corps d'une autre fonction, autant declarer tout de suite un pointeur sur fonction
Partager