Šiame straipsnyje rasite svarbių pavyzdžių, kaip perduoti struktūras kaip argumentą funkcijai ir naudoti juos savo programoje.
Struktūros kintamuosius galima perduoti funkcijai ir grąžinti panašiai kaip įprastus argumentus.
Struktūra, veikianti C ++
Struktūros kintamąjį galima perduoti funkcijai panašiai kaip įprastą argumentą. Apsvarstykite šį pavyzdį:
1 pavyzdys: C ++ struktūra ir funkcija
#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; )
Rezultatas
Įveskite vardą: Bill Jobs Įveskite amžių: 55 Įveskite atlyginimą: 34233.4 Rodoma informacija. Vardas: Bill Jobs Amžius: 55 Atlyginimas: 34233,4
Šioje programoje vartotojo prašoma įvesti asmens viduje main()
funkcijos pavadinimą, amžių ir atlyginimą .
Tada struktūros kintamasis p turi būti perduotas funkcijai naudojant.
displayData (p);
Grąžinimo tipas displayData()
yra void
ir perduodamas vienas tipo struktūros asmens argumentas.
Tada p
iš šios funkcijos rodomi struktūros nariai .
2 pavyzdys: struktūros grąžinimas iš funkcijos 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; )
Šios programos išvestis yra tokia pati, kaip ir aukščiau.
Šioje programoje struktūros Asmuo struktūros kintamasis p yra apibrėžtas pagal main()
funkciją.
Struktūros kintamasis p perduodamas getData()
funkcijai, kuri perima vartotojo įvestį, o tada grąžinama į pagrindinę funkciją.
p = getData (p);
Pastaba: Visų struktūros kintamųjų narių reikšmę galima priskirti kitai struktūrai naudojant priskyrimo operatorių = jei abu struktūros kintamieji yra to paties tipo. Nereikia rankiniu būdu priskirti kiekvieno nario.
Tada funkcijai perduodamas struktūros kintamasis p displayData()
, kuris rodo informaciją.