Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Les structures en C++ expliquées avec un exemple pratique

Qu'est-ce qu'une structure en C++ ?

Une STRUCT est une structure de données C++ qui peut être utilisée pour stocker ensemble des éléments de différents types de données. En C++, une structure est un type de données défini par l'utilisateur. La structure crée un type de données pour regrouper des éléments de différents types de données sous un seul type de données.

Par exemple :

Supposons que vous ayez besoin de stocker des informations sur quelqu'un : son nom, sa nationalité et son âge. Vous pouvez créer des variables comme name, citizenship et age pour stocker les données séparément.

Cependant, vous pourriez avoir besoin de stocker des informations sur de nombreuses personnes à l'avenir. Cela signifie que des variables pour différents individus seront créées. Par exemple, name1, citizenship1, age1, etc. Pour éviter cela, il est préférable de créer une struct.

Dans ce tutoriel C++, vous apprendrez :

Quand utiliser une Structure ?

Voici quelques raisons d'utiliser une structure en C++.

Initialisation d'une Struct C++

Pour créer une structure C++, nous utilisons le mot-clé struct, suivi d'un identifiant. L'identifiant devient le nom de la struct. Voici la syntaxe pour la création d'une struct C++ :

Syntaxe :

struct nom_struct { // membres de la struct }

Dans la syntaxe ci-dessus, nous avons utilisé le mot-clé struct. Le nom_struct est le nom de la structure.

Les membres de la struct sont ajoutés entre accolades. Ces membres appartiennent probablement à différents types de données.

Par exemple :

struct Person {
    char name[30];
    int citizenship;
    int age;
}

Dans l'exemple ci-dessus, Person est une structure avec trois membres. Les membres incluent name, citizenship et age. Un membre est de type char, tandis que les 2 restants sont des entiers. Quand une structure est créée, la mémoire n'est pas allouée. La mémoire n'est allouée qu'après qu'une variable est ajoutée à la struct.

Création d'instances de Struct

Dans l'exemple ci-dessus, nous avons créé une struct nommée Person. Nous pouvons créer une variable de struct comme suit :

Person p;

La variable p est une variable de struct de type Person. Nous pouvons utiliser cette variable pour accéder aux membres de la struct.

Accès aux membres de Struct

Pour accéder aux membres de la struct, nous utilisons l'instance de la struct et l'opérateur point (.). Par exemple, pour accéder au membre age de la struct Person :

p.age = 27;

Nous avons accédé au membre age de la struct Person en utilisant l'instance de la struct, p. Nous avons ensuite défini la valeur du membre age à 27.

Exemple 1 :

#include <iostream>
using namespace std;
struct Person {
    int citizenship;
    int age;
};
int main(void) {
    struct Person p;
    p.citizenship = 1;
    p.age = 27;
    cout << "Person citizenship: " << p.citizenship << endl;
    cout << "Person age: " << p.age << endl;
    return 0;
}

Sortie :

Les structures en C++ expliquées avec un exemple pratique

Voici une capture d'écran du code :

Les structures en C++ expliquées avec un exemple pratique

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre programme pour utiliser les fonctions définies dedans.
  2. Inclure l'espace de noms std pour utiliser ses classes sans l'appeler.
  3. Créer une struct nommée Person.
  4. Début du corps de la struct.
  5. Créer un membre de struct nommé citizenship de type entier.
  6. Créer un membre de struct nommé age de type entier.
  7. Fin du corps de la struct.
  8. Appeler la fonction main(). La logique du programme doit être ajoutée dans le corps de cette fonction.
  9. Créer une instance de la struct Person et lui donner le nom p.
  10. Définir la valeur du membre de struct citizenship à 1.
  11. Définir la valeur du membre de struct age à 27.
  12. Afficher la valeur du membre de struct citizenship sur la console avec du texte.
  13. Afficher la valeur du membre de struct age sur la console avec du texte.
  14. Le programme doit retourner une valeur s'il s'exécute avec succès.
  15. Fin de la fonction main().

Pointeurs vers Structure

Il est possible de créer un pointeur qui pointe vers une structure. C'est similaire à la façon dont les pointeurs pointant vers des types de données natifs comme int, float, double, etc. sont créés. Notez qu'un pointeur en C++ stockera un emplacement mémoire.

Exemple 2 :

#include <iostream>
using namespace std;
struct Length {
    int meters;
    float centimeters;
};
int main() {
    Length *ptr, l;
    ptr = &l;
    cout << "Enter meters: ";
    cin >> (*ptr).meters;
    cout << "Enter centimeters: ";
    cin >> (*ptr).centimeters;
    cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters";
    return 0;
}

Sortie :

Les structures en C++ expliquées avec un exemple pratique

Voici une capture d'écran du code :

Les structures en C++ expliquées avec un exemple pratique

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre programme pour utiliser ses fonctions.
  2. Inclure l'espace de noms std dans notre programme pour utiliser ses classes sans l'appeler.
  3. Créer une struct nommée Length.
  4. Début du corps de la struct Length.
  5. Créer un membre de struct nommé meters de type entier.
  6. Créer un membre de struct nommé centimeters de type entier.
  7. Fin du corps de la struct Length.
  8. Appeler la fonction main().
  9. Début du corps de la fonction main().
  10. Créer une variable pointeur *ptr et une variable normale l de type Length.
  11. Stocker l'adresse de la variable l dans notre variable pointeur.
  12. Afficher un message sur la console, demandant à l'utilisateur d'entrer la valeur pour la variable meters.
  13. Lire la valeur entrée par l'utilisateur via le clavier. La fonction membre meters est ici accédée en utilisant la variable pointeur.
  14. Afficher un message sur la console, demandant à l'utilisateur d'entrer la valeur pour la variable centimeters.
  15. Lire la valeur entrée par l'utilisateur via le clavier. La fonction membre centimeters est ici accédée en utilisant la variable pointeur.
  16. Afficher les valeurs lues de l'utilisateur sur la console avec du texte.
  17. Le programme doit retourner une valeur à l'issue d'une exécution réussie.
  18. Fin du corps de la fonction main().

Struct comme argument de fonction

Vous pouvez passer une struct à une fonction comme argument. Cela se fait de la même manière que le passage d'un argument normal. Les variables de struct peuvent aussi être passées à une fonction. Un bon exemple est quand vous avez besoin d'afficher les valeurs des membres de struct. Démontrons cela :

Exemple 3 :

#include<iostream>
using namespace std;
struct Person {
    int citizenship;
    int age;
};
void func(struct Person p);
int main() {
    struct Person p;
    p.citizenship = 1;
    p.age = 27;
    func(p);
    return 0;
}
void func(struct Person p) {
    cout << " Person citizenship: " << p.citizenship<<endl;
    cout << " Person age: " << p.age;
}

Sortie :

Les structures en C++ expliquées avec un exemple pratique

Voici une capture d'écran du code :

Les structures en C++ expliquées avec un exemple pratique

Explication du code :

  1. Inclure le fichier d'en-tête iostream dans notre fichier. Nous pourrons alors utiliser ses fonctions sans erreurs.
  2. Inclure l'espace de noms std dans notre programme pour utiliser ses classes. Nous n'aurons pas besoin d'appeler l'espace de noms pour utiliser ses classes.
  3. Créer une struct nommée Person.
  4. Début du corps de la struct Person.
  5. Créer un membre de struct Person. Le membre est nommé citizenship et est de type entier.
  6. Créer un membre de struct Person. Le membre est nommé age et est de type entier.
  7. Fin du corps de la struct Person.
  8. Créer une fonction qui prend l'instance de struct Person, p, comme argument.
  9. Appeler la fonction main. Le { marque le début du corps de la fonction main().
  10. Créer une instance de struct Person et lui donner le nom p.
  11. Accéder à la variable membre citizenship de la struct en utilisant l'instance de la struct, p, et lui assigner la valeur 1.
  12. Accéder à la variable membre age de la struct en utilisant l'instance de la struct, p, et lui assigner la valeur 27.
  13. Appeler la fonction en lui passant l'instance de la struct Person, p, comme argument.
  14. La fonction doit retourner une valeur à l'issue d'une exécution réussie.
  15. Fin du corps de la fonction main().
  16. Créer le corps de la fonction.
  17. Début du corps de la fonction.
  18. Accéder à la valeur du membre citizenship de la struct et l'afficher sur la console avec du texte.
  19. Accéder à la valeur du membre age de la struct et l'afficher sur la console avec du texte.
  20. Fin du corps de la fonction.

Limitation d'une structure C++

Voici les limitations des structures :

Résumé :

Langue C

  1. Boucle do-while en C++ : Syntaxe, exemples pratiques et boucles imbriquées
  2. Maîtriser le switch-case en C++ : Syntaxe, utilisation et exemples pratiques
  3. Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code
  4. Maîtriser les pointeurs en C++ : Concepts, exemples et applications pratiques
  5. Maîtriser le type char en C++ : Déclaration, ASCII et techniques de conversion
  6. Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
  7. Maîtriser std::list en C++ : Syntaxe, Fonctions et Exemples Pratiques
  8. Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
  9. Struct vs Class en C++ : Différences Clés, Syntaxe et Cas d'Utilisation Optimaux