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 :

mise en oeuvre de TYPEDEF


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Par défaut mise en oeuvre de TYPEDEF
    Bonjour

    je voudrais definir une table de hachage comme structure comportant

    • TH table dehachage /*ici un tableau dont les cases sont des listes chainees*/
    • CAPA la capacite de la TH /* cap de tableau ki sera choisi par l'utilisateur*/
    • FH fonction de hachage /*la fonction pour choisir la position d'un element*/


    oOo IMPLEMENTATION oOo

    /* liste chainee LCA*/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
          typedef struct Cellule {
          char* cle;
          int data;
          struct Cellule* suivante;
    }Cellule , *LCA;
    /*table de hachage*/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    typedef int (*FH)(char* cle) // TYPE pointeur vers fonction de hachage
     
    typedef LCA TH[capacite] // probleme c'est que capacite est donne par l'utilisateur, elle defini apres!!!!
     
    struct TH_COMPLETE {
     
              int capacite;
              FH fh;
              TH th;
     
    }

    J'arrive pas à declarer un type de tableau de LCA de CAPACITE=capacite sachant que capacite pourrait change

    MERCI DAVANCE POUR TOUTE REPONSE

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Dans ce cas, tu n'as pas trop le choix : il faut allouer de la mémoire, de manière dynamique (en utilisant malloc).

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Par défaut
    merci jeroman

    ici l'allocation de la memoire devra se faire en kel niveau

    merci davance

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Par contre, je n'avais pas fait attention que tu avais mis un typedef aussi sur le tableau. Le typedef n'est pas justifié à mon avis.

    Tu veux allouer un tableau de pointeurs sur structure ou un tableau de structure ?

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 115
    Par défaut
    bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typedef LCA TH[capacite]
    ICi je veux definr un type TH qui est un tableau de LDA de CAPACITE capacite

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Si capacite est donné par l'utilisateur à l'exécution, c'est tout simplement impossible. Et si cele était possible, le typedef devrait apparaître après que l'utilisateur ait fourni la valeur de capacite, pas au niveau des déclarations globales. Ce que tu peux faire, c'est utiliser l'allocation dynamique de mémoire, ce qui se fait par le biais des fonctions malloc et compagnie. Après que l'utilisateur ait entré la valeur de capacite, tu crées ton tableau avec malloc. Voir les cours du site si tu n'as jamais utilisé cette fonction.

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

Discussions similaires

  1. Problème mise en oeuvre UDF
    Par lio33 dans le forum SQL
    Réponses: 5
    Dernier message: 18/11/2005, 21h50
  2. Documentation de mise en oeuvre
    Par babar_le_fou dans le forum C
    Réponses: 5
    Dernier message: 06/11/2005, 15h07
  3. Mise en oeuvre d'une standby
    Par armando123 dans le forum Oracle
    Réponses: 1
    Dernier message: 17/10/2005, 12h18
  4. [JMS] Mise en oeuvre
    Par tery dans le forum Java EE
    Réponses: 4
    Dernier message: 21/02/2005, 13h35

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