В тази статия ще намерите подходящи примери за предаване на структури като аргумент на функция и ще ги използвате във вашата програма.
Структурните променливи могат да бъдат предадени на функция и върнати по подобен начин като нормалните аргументи.
Предаване на структура за функциониране в C ++
Променливата на структурата може да бъде предадена на функция по подобен начин като нормалния аргумент. Помислете за този пример:
Пример 1: С ++ структура и функция
#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; )
Изход
Въведете пълното име: Bill Jobs Въведете възраст: 55 Въведете заплата: 34233.4 Показване на информация. Име: Бил Джобс Възраст: 55 Заплата: 34233.4
В тази програма потребителят е помолен да въведе името, възрастта и заплатата на main()
функцията Person inside .
След това структурната променлива p трябва да се предаде на функция, използвайки.
displayData (p);
Типът на връщане displayData()
е void
и се подава единичен аргумент от структурата на типа Person.
След това членовете на структурата p
се показват от тази функция.
Пример 2: Връщаща структура от функция в 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; )
Резултатът от тази програма е същият като програмата по-горе.
В тази програма структурната променлива p на структурата на типа Person е дефинирана под main()
функция.
Структурната променлива p се предава на getData()
функция, която взема вход от потребителя, който след това се връща към основната функция.
p = getData (p);
Забележка: Стойността на всички членове на структурна променлива може да бъде присвоена на друга структура, като се използва оператор за присвояване = ако и двете структурни променливи са от един и същи тип. Не е необходимо да задавате ръчно всеки член.
След това структурната променлива p се предава на displayData()
функция, която показва информацията.