English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você encontrará exemplos de passar a estrutura como parâmetro para a função e usá-la no programa.
Pode-seestruturavariável passar parafunçãoe retorna de maneira semelhante a um argumento comum.
Pode passar a variável de estrutura como parâmetro da função de maneira semelhante a um parâmetro comum. Considere o seguinte exemplo:
#include <iostream> using namespace std; struct Person { char name[50]; int age; float salary; }; void displayData(Person); // Declarar função int main() { Person p; cout << "Entrar com nome: "; cin.get(p.name, 50); cout << "Entrar com idade: "; cin >> p.age; cout << "Entrar com salário: "; cin >> p.salary; // Chamada de função, variável de estrutura como parâmetro displayData(p); return 0; } void displayData(Person p) { cout << "\nMostrar informações" << endl; cout << "Nome: " << p.name << endl; cout << "Idade: " << p.age << endl; cout << "Salário: " << p.salary; }
Resultados de saída
Entrar com nome: Bill Jobs Entrar com idade: 55 Entrar com salário: 34233.4 Mostrar informações Nome: Bill Jobs Idade: 55 Salário: 34233.4
Neste programa, solicita-se ao usuário que insira o nome, idade e salário de uma pessoa na função main().
Em seguida, usa-se passar a variável de estrutura p para a função.
displayData(p);
O tipo de retorno de displayData() é void e passa um parâmetro do tipo estrutura Person.
e, em seguida, exibe os membros da estrutura p dessa função.
#include <iostream> 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 << "Entrar com nome: "; cin.get(p.name, 50); cout << "Entrar com idade: "; cin >> p.age; cout << "Entrar com salário: "; cin >> p.salary; return p; } void displayData(Person p) { cout << "\nMostrar informações" << endl; cout << "Nome: " << p.name << endl; cout << "Idade: " << p.age << endl; cout << "Salário: " << p.salary; }
O resultado de saída deste programa é o mesmo que o programa acima.
Neste programa, a variável de estrutura de tipo Person p é definida na função main().
A variável de estrutura p é passada para a função getData(), que obtém entrada do usuário e então retorna para a função principal (main).
p = getData(p);
Atenção:Se os tipos das variáveis de estrutura forem iguais, pode-se usar o operador de atribuição.(=Atribui todos os membros da estrutura variável de estrutura a outra estrutura. Você não precisa atribuir manualmente cada membro.
Então, passe a variável de estrutura p para a função displayData(), que exibe as informações.