In questo articolo troverai esempi rilevanti per passare strutture come argomento a una funzione e utilizzarle nel tuo programma.
Le variabili di struttura possono essere passate a una funzione e restituite in modo simile ai normali argomenti.
Passaggio della struttura alla funzione in C ++
Una variabile di struttura può essere passata a una funzione in modo simile a un normale argomento. Considera questo esempio:
Esempio 1: struttura e funzione 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; )
Produzione
Immettere il nome completo: Bill Jobs Immettere l'età: 55 Immettere lo stipendio: 34233.4 Visualizzazione delle informazioni. Nome: Bill Jobs Età: 55 Salario: 34233,4
In questo programma, all'utente viene chiesto di inserire il nome, l'età e lo stipendio di una main()
funzione Persona interna .
Quindi, la variabile di struttura p deve essere passata a una funzione utilizzando.
displayData (p);
Il tipo restituito di displayData()
è void
e viene passato un singolo argomento della struttura di tipo Person.
Quindi i membri della struttura p
vengono visualizzati da questa funzione.
Esempio 2: restituzione della struttura dalla funzione in 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; )
L'output di questo programma è lo stesso del programma precedente.
In questo programma, la variabile di struttura p di tipo struttura Persona è definita sotto main()
funzione.
La variabile di struttura p viene passata alla getData()
funzione che riceve l'input dell'utente che viene quindi restituito alla funzione principale.
p = getData (p);
Nota: il valore di tutti i membri di una variabile di struttura può essere assegnato a un'altra struttura utilizzando l'operatore di assegnazione = se entrambe le variabili di struttura sono dello stesso tipo. Non è necessario assegnare manualmente ogni membro.
Quindi la variabile di struttura p viene passata alla displayData()
funzione, che visualizza le informazioni.