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 :

Accéder à un tableau à deux dimensions


Sujet :

C++

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 44
    Points : 78
    Points
    78
    Par défaut Accéder à un tableau à deux dimensions
    Bonjour,

    Je définis un tableau à deux dimensions de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct
    {
      const char *szName;
      int identifier;
    } montypedef;
    const montypedef MyList[] = {{"Jean", 00002},{"Michel", 00003}};
    Pour accéder au ième élément, c'est facile on fait MyList[i] (pour accéder au nom MyList[i].szName).

    Par contre supposons que je fasse un define de ce tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #define MY_LIST const montypedef MyList[] = {{"Jean", 00002},{"Michel", 00003}};
    Comment puis-je accéder au ième élément de mon tableau? En gros comment utiliser MY_LIST?

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 44
    Points : 78
    Points
    78
    Par défaut
    Je me réponds parce qu'en cherchant de mon coté j'ai trouvé la réponse.
    Il faut déclarer une variable du même nom que celle indiquée dans le define, soit "MyList"
    Et ensuite accéder au ième élément classiquement MyList[i]

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    En quoi s'agit-il d'un tableau à deux dimensions ?
    C'est quoi ce define horrible ? Tu peux pas déclarer tes variables simplement ?
    Boost ftw

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    va devenir après passage du pré-processeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const montypedef MyList[] = {{"Jean", 00002},{"Michel", 00003}};
    MyList;
    car le pré-processeur est bête et méchant, il remplace sans se demander ce qu'on lui dit de remplacer.
    Tu te retrouve donc avec la 1er instruction avec la déclaration normale de ton tableau et avec la 2eme, à ne rien faire (même pas sur que ca compile).

    Pour moi, avec la macro que tu as donné, le bon moyen de l'utilisé c'est :
    qui va devenir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const montypedef MyList[] = {{"Jean", 00002},{"Michel", 00003}};
    Sinon loufoque +1
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 44
    Points : 78
    Points
    78
    Par défaut
    C'est quoi ce define horrible ? Tu peux pas déclarer tes variables simplement ?
    Moi oui
    mais pas les librairies que j'utilise

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

Discussions similaires

  1. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27
  2. Affichage d'un tableau à deux dimensions.
    Par Allan dans le forum C
    Réponses: 3
    Dernier message: 11/12/2005, 18h29
  3. Réponses: 1
    Dernier message: 18/11/2005, 11h38
  4. tri alphabétique dans un tableau deux dimensions
    Par *!!cocco!!* dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 06/12/2004, 21h38
  5. Passage d'un tableau à deux dimensions
    Par karl3i dans le forum C
    Réponses: 3
    Dernier message: 20/10/2003, 14h50

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