English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
Il est possible de transmettre une variable de structure comme un paramètre normal à une fonction. Considérez l'exemple suivant :
#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.
#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.