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 :

[typedef]Question bete...


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut [typedef]Question bete...
    Bonjour,

    J'ai compris le principe du typedef, redefinir un type selon notre convenance. Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    typedef int myint;
    myint lala = 0;
    La question est simpliste mais m'embete quand meme: que fait cette definition sachant que DIST_FUNCTION n'est pas une fonction existante???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef float DIST_FUNCTION(int bx, int by, int tx, int ty);
    Merci...

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Ca te donnera une erreur de syntaxe, tout bètement.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    merci de ta reponse... La fonction existe je crois bien... Simplement elle est renommee par un #define qui fait reference a un autre fichier C... le quoi... alle je retourne a ma traduction C->Java

    Merci

  4. #4
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Voilà une manière d'utiliser ce genre de chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    typedef float DIST_FUNCTION(int bx, int by, int tx, int ty);
     
    float f(int x, int y, int z, int t)
    {
    	return (float) (x + y + z +t);
    }
     
     
    .........................
    ...........................
    ..........................
     
    DIST_FUNCTION *g = f;
    printf("%f\n", g(1,2,3,4));

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut Re: [typedef]Question bete...
    Citation Envoyé par danael
    que fait cette definition sachant que DIST_FUNCTION n'est pas une fonction existante???

    Les dangers des la lecture en diagonale lol. Faites comme si je n'avait rien dit ^^.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Oui c'est tout a fait la maniere que j'ai repere dans le fichier en question... Je trouve cela un peu tire par les cheuveux mais en y regardant de plus pres, cela simplifie parfois les noms... Bien vu Trap D

    Merci a tous les deux

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    C'est très pratique quand tu lies dynamiquement des fonctions avec une Dll.
    Tu fait un typedef de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef int Type1_Fonc(int arg1, int arg2);
    Type1_Fonc *Fonc1;
    Hinst = LoadLibrary("mydll.dll");
    Fonc1 = (Type1_Fonc *)  GetProcAddress(Hinst, (char *)1);
    [edit]
    Pour répondre à la question initiale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    que fait cette definition sachant que DIST_FUNCTION n'est pas une fonction existante???
    Tu définis un nouveau type de variable, ici des fonctions, qui prennent en argument 4 entiers et qui renvoient un float
    [/edit]

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Merci bcp... Un peu complique parfois mais tellement bien le C...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/10/2004, 18h09
  2. [Struts] question bete sur les Action et Form
    Par seb_fou dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/09/2004, 15h24
  3. [FOREIGN KEY] petite question bete ...
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 16h35
  4. Réponses: 5
    Dernier message: 25/11/2003, 10h02
  5. question bete
    Par hervecourtat dans le forum ASP
    Réponses: 8
    Dernier message: 07/11/2003, 11h49

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