I denne artikel finder du relevante eksempler til at sende strukturer som et argument til en funktion og bruge dem i dit program.
Strukturvariabler kan sendes til en funktion og returneres på samme måde som normale argumenter.
Videregiver struktur til at fungere i C ++
En strukturvariabel kan overføres til en funktion på samme måde som normalt argument. Overvej dette eksempel:
Eksempel 1: C ++ struktur og funktion
#include using namespace std; struct Person ( char name(50); int age; float salary; ); void displayData(Person); // Function declaration int main() ( Person p; cout << "Enter Full name: "; cin.get(p.name, 50); cout <> p.age; cout <> p.salary; // Function call with structure variable as an argument displayData(p); return 0; ) void displayData(Person p) ( cout << "Displaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; )
Produktion
Indtast fuldt navn: Bill Jobs Indtast alder: 55 Indtast løn: 34233.4 Visning af oplysninger. Navn: Bill Jobs Alder: 55 Løn: 34233.4
I dette program bliver brugeren bedt om at indtaste navn, alder og løn for en person inde i main()
funktionen.
Derefter skal strukturvariablen p overføres til en funktion ved hjælp af.
displayData (p);
Returtypen af displayData()
er void
og et enkelt argument af typestrukturen Person videregives.
Derefter p
vises strukturelementerne fra denne funktion.
Eksempel 2: Returnering af struktur fra funktion i C ++
#include 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 << "Enter Full name: "; cin.get(p.name, 50); cout <> p.age; cout <> p.salary; return p; ) void displayData(Person p) ( cout << "Displaying Information." << endl; cout << "Name: " << p.name << endl; cout <<"Age: " << p.age << endl; cout << "Salary: " << p.salary; )
Output fra dette program er det samme som programmet ovenfor.
I dette program defineres strukturvariablen p for typestrukturen Person under main()
funktion.
Strukturvariablen p sendes til getData()
funktion, som tager input fra brugeren, som derefter returneres til hovedfunktionen.
p = getData (p);
Bemærk: Værdien af alle medlemmer af en strukturvariabel kan tildeles en anden struktur ved hjælp af tildelingsoperator = hvis begge strukturvariabler er af samme type. Du behøver ikke manuelt tildele hvert medlem.
Derefter sendes strukturvariablen p til displayData()
funktion, som viser informationen.