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 :

Tableau de structures


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut Tableau de structures
    Bonjour à tous

    Dans un fichier de mon programme, je définis une variable tableau de structures que j'initialise avec une grande quantité de valeurs littérales fixes.
    Je voulais savoir si je pouvais définir cette variable autre part, dans un autre fichier, juste pour améliorer la lisibilité et l'agencement du code.
    J'ai vu que dans n exemple Petzold mettait ca dans un .h mais pourtant j'ai cru comprendre qu'en principe on ne doit rien mettre dans un .h qui réserve un espace mémoire .

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Par défaut
    Bonjour,

    Par rapport à ton initialisation de tes variables pourquoi ne pas le faire une boucle for? et ainsi définir le ton tableau de structure dans un fichier.h?

    cordialement
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste. » - Steve McConnell

    N'oubliez pas de consulter les FAQ Swift, Android
    Tutoriel : Développer une application multilingue sous iOS

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut
    Citation Envoyé par Seelass Voir le message
    Bonjour,

    Par rapport à ton initialisation de tes variables pourquoi ne pas le faire une boucle for? et ainsi définir le ton tableau de structure dans un fichier.h?

    cordialement
    Les valeurs d'initialisation de la structure (qui définit le type du tableau) sont des valeurs littérales (nombres et chaines de caractères) fixes et particulières qui ne peuvent pas être affectées par itérations.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 10
    Par défaut
    J'ai une solution qui convient à mon souci.
    J'ai trouvé ca chez Exkel:

    Pour utiliser const au lieu de #define, vous devez pouvoir placer les définitions const à l'intérieur des fichiers
    d'en-tête comme vous pouvez le faire avec #define. De cette façon, vous pouvez placer la définition d'un
    const dans un seul endroit et la distribuer aux unités de traduction en incluant le fichier d'en-tête. Un const en C++
    est par défaut à liaison interne ; c'est-à-dire qu'il est visible uniquement dans le fichier où il est défini et ne peut pas
    être vu par d'autres unités de traduction au moment de l'édition de lien.

    Normalement, le compilateur de C++ évite de créer un emplacement pour un const, mais garde plutôt la définition
    dans sa table de symbole.
    Et ca me convient parfaitement. Il est vrai que j'avais oublié de préciser que j'utilise mon tableau de structures en lecture seule.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 81
    Par défaut
    Je le ferais comme ça :
    • Définition de la structure dans un .h
    • Définition du tableau (static) et des fonctions d'accès à ce tableau dans un .c (longueur, élément n, etc.)
    • Définitions des fonctions d'accès au tableau dans un .h (ou dans le même .h que la définition de la structure, à voir)


    Après, tu inclues le(s) fichier(s) .h contenant les fonctions d'accès au tableau dans tous les modules qui en ont besoin.
    En faisant comme ça tu sépares la gestion du tableau de son utilisation et c'est plus facile après si tu veux mettre la gestion dans une bibliothèque (statique ou dynamique).

    Voilà, c'est une idée.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/05/2006, 11h46
  2. Tableau de structures en parametre d'une fonction
    Par -No Comment- dans le forum C
    Réponses: 19
    Dernier message: 29/03/2006, 15h00
  3. [VB6]Tri multi-colonnes sur tableau de structure
    Par ELGUEVEL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 08h02
  4. Réponses: 9
    Dernier message: 13/02/2006, 08h39
  5. Trier un tableau de structures
    Par Yux dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 17h28

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