English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Structure et fonction

Dans cet article, vous trouverez des exemples sur la transmission de la structure en tant que paramètre à la fonction et leur utilisation dans le programme.

Il est possible destructurevariable transmise àfonctionet la retourne de la même manière que les variables d'arguments normales.

transmet la structure à C ++la fonction

Il est possible de transmettre une variable de structure comme un paramètre normal à une fonction. Considérez l'exemple suivant :

Exemple1de C ++Structure et fonction

#include <iostream>
using namespace std;
struct Person
{
    char name[50];
    int age;
    float salary;
};
void displayData(Person);   // Déclaration de la fonction
int main()
{
    Person p;
    cout << "Entrer le nom: ";
    cin.get(p.name, 50);
    cout << "Entrer l'âge: ";
    cin >> p.age;
    cout << "Entrer le salaire: ";
    cin >> p.salary;
    // Appel de la fonction, variable de structure en tant que paramètre
    displayData(p);
    return 0;
}
void displayData(Person p)
{
    cout << "\nAfficher les informations" << endl;
    cout << "Nom: " << p.name << endl;
    cout << "Âge: " << p.age << endl;
    cout << "Salaire: " << p.salary;
}

Résultat de la sortie

Entrer le nom: Bill Jobs
Entrer l'âge: 55
Entrer le salaire: 34233.4
Afficher les informations
Nom: Bill Jobs
Âge: 55
Salaire: 34233.4

Dans ce programme, il est demandé à l'utilisateur d'entrer le nom, l'âge et le salaire d'une personne dans la fonction main().

Ensuite, utilisez la variable de structure p pour transmettre à la fonction.

displayData(p);

Le type de retour de displayData() est void et il transmet un paramètre de type structure Person.

ensuite, affichez les membres de la structure p à partir de cette fonction.

Exemple2de C ++la fonction retourne la structure

#include <iostream>
using namespace std;
struct Person {
    char name[50];
    int age;
    float salary;
};
Person getData(Person); 
void displayData(Person); 
int main()
{
    Person p;
    p = getData(p);   
    displayData(p);
    return 0;
}
Person getData(Person p) {
    cout << "Entrer le nom: ";
    cin.get(p.name, 50);
    cout << "Entrer l'âge: ";
    cin >> p.age;
    cout << "Entrer le salaire: ";
    cin >> p.salary;
    return p;
}
void displayData(Person p)
{
    cout << "\nAfficher les informations" << endl;
    cout << "Nom: " << p.name << endl;
    cout << "Âge: " << p.age << endl;
    cout << "Salaire: " << p.salary;
}

Le résultat de la sortie de ce programme est le même que celui du programme ci-dessus.

Dans ce programme, la variable de structure de type Person p est définie dans la fonction main().

La variable de structure p est passée à la fonction getData(), qui récupère les entrées de l'utilisateur et est ensuite retournée à la fonction principale (main).

p = getData(p);

Attention :Si les types des deux variables de structure sont identiques, vous pouvez utiliser l'opérateur d'affectation(=Les valeurs de tous les membres de la variable de structure sont allouées à une autre structure. Vous n'avez pas besoin d'allouer manuellement chaque membre.

Ensuite, le variable de structure p est passée à la fonction displayData(), qui affiche les informations.