U ovom ćete članku pronaći relevantne primjere za prosljeđivanje struktura kao argumenta funkcije i koristiti ih u vašem programu.
Varijable strukture mogu se proslijediti funkciji i vratiti na sličan način kao i normalni argumenti.
Prosljeđivanje strukture u funkciju na C ++
Varijabla strukture može se proslijediti funkciji na sličan način kao i normalni argument. Razmotrite ovaj primjer:
Primjer 1: Struktura i funkcija C ++
#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; )
Izlaz
Unesite puno ime: Bill Jobs Unesite dob: 55 Unesite plaću: 34233.4 Prikazivanje podataka. Ime: Bill Jobs Dob: 55 Plaća: 34233.4
U ovom programu od korisnika se traži da unese ime, dob i plaću osobe u main()
funkciji.
Zatim se strukturna varijabla p prosljeđuje funkciji pomoću.
displayData (p);
Povratni tip displayData()
je void
i jedan argument strukture strukture osobe prosljeđuje se.
Tada se p
iz ove funkcije prikazuju članovi strukture .
Primjer 2: Vraćanje strukture iz funkcije u 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; )
Rezultat ovog programa isti je kao i program iznad.
U ovom je programu strukturna varijabla p tipske strukture Osoba definirana pod main()
funkcijom.
Varijabla strukture p prenosi se u getData()
funkciju koja uzima unos od korisnika koji se zatim vraća glavnoj funkciji.
p = getData (p);
Napomena: Vrijednost svih članova varijable strukture može se dodijeliti drugoj strukturi pomoću operatora dodjele = ako su obje varijable strukture istog tipa. Ne morate ručno dodijeliti svakog člana.
Tada se strukturna varijabla p prenosi u displayData()
funkciju koja prikazuje informacije.