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 :

problemes avec les tableaux et macros


Sujet :

C

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 13
    Points
    13
    Par défaut problemes avec les tableaux et macros


    Dans un code j'utilise une structure ou j'ai déclaré un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct stru{int table[20];};
    . puis dans un fichier *.h, je crée un macro pour définir ce tableau pour d'autres usages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define MonTableau (stru.table)
    . le code passe a la compilation mais je sais pas si la bon facon de le faire ou non, genre cela va être connu lors de exécution, ex : possible d'afficher MonTableau[2] qui devrait correspondre à table[2] ????

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Pourquoi vous embêtter avec le define ?
    Vous pourriez faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef struct stru // quel mauvais nom, pas explicite :D
    {
        int table[20];
    }MonTableau;
     
    // Utilisation :
    MonTableau monT;
    monT.table[2] = 42;
    Qu'en pensez vous ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 631
    Points : 10 559
    Points
    10 559
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Pourquoi vous embêtter avec le define ?
    Ne t’inquiètes pas son define est mauvais

    Il a fait un define qui déférence un type indéfini car incomplet

  4. #4
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Pourquoi vous embêtter avec le define ?
    Vous pourriez faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    typedef struct stru // quel mauvais nom, pas explicite :D
    {
        int table[20];
    }MonTableau;
     
    // Utilisation :
    MonTableau monT;
    monT.table[2] = 42;
    Qu'en pensez vous ?
    Enfaite mon programme C interfere avec un autre laungage qui connais pas les structures, faire passer ne sera pas vu par l'autre programme et affichera une erreur "."

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 064
    Points
    219 064
    Billets dans le blog
    120
    Par défaut
    Il va falloir expliquer plus précisément votre soucis et votre problématique, car une macro, c'est au final, demander au compilateur de faire un copier/coller. Cela n'enlève pas, ne change pas le code (ce sont des sortes de raccourcis).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. probleme avec les tableaux
    Par Ahmad1994 dans le forum C
    Réponses: 6
    Dernier message: 26/05/2014, 14h06
  2. probleme avec les tableaux
    Par heeedi dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/05/2009, 10h17
  3. [Langage] Probleme avec les tableaux dynamiques
    Par wawa84 dans le forum Langage
    Réponses: 7
    Dernier message: 19/11/2008, 17h18
  4. Problemes de memoires avec les tableaux: outOfMemoryError
    Par Battosaiii dans le forum Langage
    Réponses: 7
    Dernier message: 16/07/2006, 16h50
  5. [Tableaux] Probleme avec les switch
    Par grumly22 dans le forum Langage
    Réponses: 9
    Dernier message: 10/04/2006, 10h51

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