Struktura i funkcija C ++

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 voidi jedan argument strukture strukture osobe prosljeđuje se.

Tada se piz 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.

Zanimljivi članci...