В этой статье вы найдете соответствующие примеры для передачи структур в качестве аргумента функции и использования их в своей программе.
Структурные переменные могут быть переданы в функцию и возвращены аналогично обычным аргументам.
Передача структуры в функцию в C ++
Структурную переменную можно передать функции так же, как и обычный аргумент. Рассмотрим этот пример:
Пример 1: Структура и функции 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; )
Вывод
Введите полное имя: Bill Jobs Введите возраст: 55 Введите зарплату: 34233.4 Отображение информации. Имя: Билл Джобс Возраст: 55 Зарплата: 34233,4
В этой программе пользователя просят ввести имя, возраст и зарплату лица внутри main()
функции.
Затем структурная переменная p передается функции с использованием.
displayData (p);
Тип возвращаемого значения displayData()
is, 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()
функции, которая принимает ввод от пользователя, который затем возвращается в основную функцию.
р = getData (р);
Примечание . Значение всех членов структурной переменной может быть присвоено другой структуре с помощью оператора присваивания =, если обе структурные переменные имеют один и тот же тип. Вам не нужно вручную назначать каждого участника.
Затем структурная переменная p передается displayData()
функции, которая отображает информацию.