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 :

[Débutant] Comment fonctionne les 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
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut [Débutant] Comment fonctionne les structures?
    Bonjour,

    Suis débutant dans le C++ (comme indiqué dans le titre ), et j'ai ne comprend pas comment fonctionne les structures et à quoi peuvent t'elles bien servirent.
    Et j'annonce que je suis allez voir les tutoriaux d'ici et d'autre et sur d'autres site web le résultat est le même : Rein compris :'(

    Merci de pouvoir aider un pauvre noob en détresse

  2. #2
    Membre éclairé Avatar de Ekinoks
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    687
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 687
    Par défaut
    salut uNd3r²,

    Les structures servent essentiellement à regrouper des variables.
    On peu par exemple imaginer la structure Coordonee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    typedef struct Coordonee
    {
       int x;
       int y;
       int z;
    }Coordonee;
     
    void main()
    {
       Coordonee p;
       p.x = 2;
       p.y = 3;
       p.z = -5;
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Okai merci bien, mais... j'ai pas toujours bien compris comment on s'en sert

    Sur un totorial que j'ai trouvé sur Internet il me met ceci en tant que syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct Client
    {
        unsigned char Age;
        unsigned char Taille;
    } Jean;
    Il n'y as pas devant struct "typedef" et puis pour terminer, comment faire pour se servir des variables que l'on a créé. Juste, par exemple, l'afficher avec la commande printf.

    Merci

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    L'utilisation normale en C++ se fait avec la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct Mastructure
    {
    // contenu de la structure
    };
     
    // Plus loin dans le code, on crée une instance de la structure
    Mastructure instance;
    instance.x = 32; // etc
    Les typedef, c'est en C que l'on doit s'en servir.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    struct Client
    {
        unsigned char Age;
        unsigned char Taille;
    } Jean;
    Dans ce cas particulier, tu déclares une variable Jean de type struct Client.

    Typedef permet de rédéfinir un type, raccourcir le nom d'un type par exemple.
    Tu pourras l'utiliser pour renommer un type structure.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    struct Coordone_s
    {
       int x;
       int y;
       int z;
    };
    typedef struct Coordone_s Coordone;
    Ce que tu peux raccourcir en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct
    {
       int x;
       int y;
       int z;
    }Coordone;
    Par contre, dans ces deux derniers exemples, tu ne déclares pas encore de variable Jean.

    Une fois que tu as crée une variable, tu fais référence aux différents éléments de la stucture avec l'opérateur .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Jean.Age
    Jean.Taille
    Donc pour un exemple avec printf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf ("Jean a %d ans et mesure %d cm.\n", Jean.Age, Jean.Taille);
    Tu ne peux pas directement afficher le contenu d'une structure.

    Après tout ceci se fait plutôt en C mais l'exemple que tu as trouvé provient d'un cours de C/C++ qui mélange les deux langages.

  6. #6
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Ce qui est une très mauvaise chose

    C'est comme utiliser void* en C++, c'est inapproprié, car le C++ propose de nouvelles choses, que ne propose pas le C, afin de remplacer void* par exemple (la généricité, en C++).

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Et bien merci déjà, avec vos conseil et d'autres petit truc que je connaissais d'avant ; j'ai créé un petit programme bidon et je voudrais savoir ce que vous en pensiez et savoir comment l'optimisé car là il est simple mais je ne sais pas si je le fait devenir plus compexe sa marcheras encore.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #include <stdio.h>
    #include <iostream>
     
    struct Test
    {
           int x;
           int y;
    };
     
    int main(void)
    {
         Test a;
         a.x = 32;
         a.y = 10;
         Test b;
         b.x = 2;
         b.y = 3;
         printf ("Valeur de X = %d , valeur de Y = %d \n", a.x, a.y);
         printf ("Valeur de X = %d , valeur de Y = %d \n", b.x, b.y);
         system("pause");
         return 0;
    }
    Et si j'ai bien compris l'utilité de cette fonction s'est de pouvoir créé des données toujours sur une même base?

    En même temps s'est problématique si je compile du C et du C++ en même temps?

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

Discussions similaires

  1. Comment fonctionnent les "keywords"
    Par shikakus dans le forum Référencement
    Réponses: 3
    Dernier message: 29/01/2007, 00h13
  2. Comment fonctionne les versions d'un logiciel?
    Par Antigonos Ier Gonatas dans le forum Windows
    Réponses: 12
    Dernier message: 14/07/2006, 18h48
  3. [VB6] Comment fonctionne les Tableaux ?
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/04/2006, 14h59
  4. [FLASH 8] Comment fonctionne les clips
    Par steeves5 dans le forum Flash
    Réponses: 3
    Dernier message: 27/01/2006, 10h23
  5. Comment fonctionnent les index des options d'un select ?
    Par pekka77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/10/2005, 18h05

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