Σε αυτό το άρθρο, θα βρείτε σχετικά παραδείγματα για να μεταβιβάσετε δομές ως επιχείρημα σε μια συνάρτηση και να τις χρησιμοποιήσετε στο πρόγραμμά σας.
Οι μεταβλητές δομής μπορούν να περάσουν σε μια συνάρτηση και να επιστραφούν με παρόμοιο τρόπο όπως τα κανονικά ορίσματα.
Περνώντας δομή για λειτουργία σε 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 Εμφάνιση πληροφοριών. Όνομα: Bill Jobs Ηλικία: 55 Μισθός: 34233.4
Σε αυτό το πρόγραμμα, ζητείται από τον χρήστη να εισαγάγει το όνομα, την ηλικία και τον μισθό ενός ατόμου μέσα στη main()
λειτουργία.
Στη συνέχεια, η μεταβλητή δομής 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()
λειτουργία, η οποία εμφανίζει τις πληροφορίες.