C Pointeur Sur Fonction

Une page de Wikiversité, la communauté pédagogique libre. Introduction [ modifier | modifier le wikicode] En langage C, le nom d'une fonction est un pointeur. On peut l'utiliser comme argument dans l'appel d'une fonction. Exemple: G_plot( f); ( f(x) étant une fonction) Un pointeur de fonction doit avoir le même prototype que la fonction pointée. Pour la fonction f(x): double f ( double x) { return ( pow ( x, 2. ));} double ( * P_f)( double x) Pour la fonction g(x, y): double g ( double x, double y) { return ( x * y;} double ( * P_g)( double x, double y) Pour appeler la fonction, nous utiliserons cette méthode: (( * P_f)( a)) /* corresponds à un appel de fonction de forme f(a). C pointeur sur fonction publique territoriale. */ (( * P_g)( a, b)) /* corresponds à un appel de fonction de forme g(a, b). */ Remarque: f et g sont des pointeurs f() et g() sont des fonctions. double (*P_f)(double x) c'est une déclaration de pointeur de fonction. P_f c'est le pointeur. ((*P_f)()) ou (*P_f)() c'est un appel à une fonction. Exemples graphiques (avec Gnuplot) [ modifier | modifier le wikicode] Dessiner deux fonctions successivement [ modifier | modifier le wikicode] La fonction Gplt() dessine f(x) et g(x).

  1. C pointeur sur fonction publique d'état

C Pointeur Sur Fonction Publique D'état

// Cette fonction peut être appelée comme toutes les autres // fonctions: printf ( "%d", fcomp ( 2, 3)); & vellip; return;} int t [ 3] = { 1, 5, 2}; trie ( t, 3, compare); // Passage de compare() en paramètre.

Exemple 8: int *P; P = 0; Exemple 9: Soit p1 et p2 deux pointeurs sur int. #include < stdio. h> int x=5; int *p1, *p2; p2=&x; // Copie le contenu de p2 vers p1 // p1 pointe alors sur le même objet que p2. p1=p2; printf("*p1 =%d \n", *p1); printf("*p2 =%d \n", *p2); Pointeurs et les tableaux Lien entre le nom d'un tableau à 1 dimension et les pointeurs Les pointeurs et les tableaux sontconceptuellement très similaires en C Nom du tableau = adresse du premier élément du tableau. En simplifiant, nous pouvons retenir que le nom d'un tableau est un pointeur constant sur le premier élément du tableau. Exemple 10: En déclarant un tableau A de type int et un pointeur P sur int, #include < stdio. h> int A[10]; // equivalente à P =&A[0]; P = A; Si P pointe sur une composante quelconque d'un tableau, alors P+1 pointe sur la composante suivante. Les pointeurs en C | Développement Informatique. Généralement P+i pointe sur la i-ième composant devant P. Exemple 11: int main(void){ int x, i=6; // Le pointeur P pointe sur A[0] (P =&A[0]) // x = A[1] x = *(P+1); // x = A[2] x = *(P+2); // x = A[i] x = *(P+i); Puisque le nom tableau est un pointeur constant sur le premier élément on peut écrire: Exemple 12: int main(void){ // x = A[0] x = A; x = *(A+1); x = *(A+2); x = *(A+i); Remarque!

August 1, 2024, 3:38 am
Robot De Combat Dessin