IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

question fonction en C


Sujet :

C

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    67
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 67
    Par d�faut question fonction en C
    bonjour,
    est-ce qu'il est possible en C de mettre en parametre une fonction fct2 dans une autre fonction fct1, par exemple void fct1(fct2, int a) ?
    merci de vos reponses.

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par d�faut
    Salut,

    Oui c'est possible avec les "pointeurs de fonction", il y a quelques fonctions de la librairie standard qui utilisent cette technique, exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    void qsort (void *base, size_t nmemb, size_t size,
        int (*compar)(const void *, const void *));
    Ici le 4eme param�tre doit �tre un pointeur sur une fonction ayant le prototype donn� (retourne un int et a 2 param�tres const void *)
    http://man.developpez.com/man3/qsort.3.php

  3. #3
    Membre chevronn� Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Par d�faut
    Effectivement, si la signature de la fonction que tu veux mettre en param�tre ressemble � : alors la fonction qui prendra fct en pram�tre devra avoir une signature du genre
    Code C : S�lectionner tout - Visualiser dans une fen�tre � part
    TonType Tafonction(int (*ptfct)(void *),.....)
    . A chaque fois que tu voudras appeler une fct en param�tre de Tafonction, il faudra veiller � ce que la signature de fct corresponde bien � la signature attendu en param�tre.

  4. #4
    Membre �m�rite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par d�faut
    Un rapide exemple pour te montrer l'utilisation des pointeurs de fonction.

    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
     
    #include <stdio.h>
     
    int fct2 (int i) {
      return i*10;
    }
     
    int fct3 (int i) {
      return i*100;
    }
     
    void fct1(int (*f)(int), int a) {
      printf ("f(%d)=%d\n", a, f(a));
    }
     
    int main () {
      fct1 (fct2, 7);
      fct1 (fct3, 7);
      return 0;
    }

  5. #5
    Expert �minent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retrait�
    Inscrit en
    D�cembre 2003
    Messages
    14 512
    D�tails du profil
    Informations personnelles :
    �ge : 68
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Retrait�

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 14 512
    Par d�faut
    Citation Envoy� par space_56 Voir le message
    est-ce qu'il est possible en C de mettre en parametre une fonction fct2 dans une autre fonction fct1, par exemple void fct1(fct2, int a) ?
    Peut �tre. Que veux-tu faire exactement ?

Discussions similaires

  1. Question fonction analytique
    Par SheikYerbouti dans le forum SQL
    R�ponses: 3
    Dernier message: 10/03/2008, 12h16
  2. question fonction rename
    Par john123 dans le forum Langage
    R�ponses: 4
    Dernier message: 06/02/2008, 00h05
  3. Questions fonction free()
    Par Yann39 dans le forum Biblioth�que standard
    R�ponses: 5
    Dernier message: 19/12/2007, 13h27
  4. question fonction split
    Par fessebleu dans le forum Langage
    R�ponses: 2
    Dernier message: 28/05/2006, 02h33
  5. [Excel] question fonction !!!
    Par Fealendril dans le forum Macros et VBA Excel
    R�ponses: 17
    Dernier message: 25/01/2006, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo