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 :

Type complexe .


Sujet :

C

Vue hybride

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut Type complexe .
    Salut,

    J'ai un exercice sur les types où je galère. L'énoncé :

    On souhaite disposer d'une zone en mémoire susceptible de contenir :
    - un tableau de 16 char
    - un tableau de 8 short
    - un tableau de 4 int
    - un tableau de 4 float
    - un tableau de 2 double

    1 ) Donner la définition d'un type contenu permettant la définition de variables associées à de telles zones en mémoire.
    2 ) Définir un type, nommé mémoire et utilisant le précédent, permettant au travers d'un champ supplémentaire de type int de choir la bonne interprétation du contenu de la zone associée.

    Suivie d'autres questions plus déroutantes, mais j'aimerais bien savoir déjà comment procéder pour ces 2 questions. J'avais pensé à utiliser union mais je ne pense pas que ça marchera au vue de la question 2.

    Quelqu'un aurait la solution ?

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    1- Puisque la même zone mémoire peut être occupée par différents types de données, il faut effectivement se tourner vers une union.

    2- maintenant on ajoute une information supplémentaire, la nature de l'élément de l'union. Cette information étant directement liée à l'union, on associra les deux dans une structure.

  3. #3
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Je ne suis plus certain si les types énumérés sont forcément stockés dans un int, mais si tel est le cas, tu pourrais en utiliser un pour le type de la mémoire. Ca te donnerait un code plus explicite de faire memoire.type = ENTIERS que memoire.type = 2.

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    @Bktero :
    Je ne suis plus certain si les types énumérés sont forcément stockés dans un int,...
    Tu as raison de n'en être pas certain car ce n'est pas le cas.
    Ce sont des entiers (signés ou non) dont le type est à la discrétion du compilateur qui peut choisir ce qui l'arrange et peut dépendre de la composition de l'énumération.

    Par contre, les constantes de l'énumération sont des int.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    En gros, ça peut-être un char, short, int, long, long long, unsigned ou, mais les valeurs sont entières ? Et dans le même programme, ça peut varier d'une énumération à l'autre ?

    Dommage pour Raikyn, car du coup ça ne répond plus à ces contraintes.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 152
    Par défaut
    Donc il faut faire un union pour la premire question puis l'inclure dans un enum ?

Discussions similaires

  1. Service Web avec Axis et types complexes.
    Par Skyman37 dans le forum Services Web
    Réponses: 17
    Dernier message: 13/01/2011, 09h28
  2. [type complex] problemes bizzards lors de la deserialisation
    Par djynwk dans le forum Services Web
    Réponses: 6
    Dernier message: 23/11/2006, 18h43
  3. STL set et type complex
    Par jguillot dans le forum SL & STL
    Réponses: 20
    Dernier message: 13/11/2006, 22h14
  4. [Débutant] Tag Text et type "complexe" ?
    Par DemonKN dans le forum Struts 1
    Réponses: 14
    Dernier message: 22/09/2006, 10h01
  5. Type complexe en parametre dans une procedure stockée
    Par Tsimplice dans le forum Oracle
    Réponses: 2
    Dernier message: 06/10/2005, 02h42

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