Δομές C ++

Σε αυτό το άρθρο, θα μάθετε για τις δομές στον προγραμματισμό C ++. τι είναι, πώς να το ορίσετε και να το χρησιμοποιήσετε στο πρόγραμμά σας.

Η δομή είναι μια συλλογή μεταβλητών διαφορετικών τύπων δεδομένων με ένα μόνο όνομα. Είναι παρόμοιο με ένα μάθημα στο ότι, και οι δύο κατέχουν μια συλλογή δεδομένων διαφορετικών τύπων δεδομένων.

Για παράδειγμα: Θέλετε να αποθηκεύσετε κάποιες πληροφορίες για ένα άτομο: το όνομά του, τον αριθμό υπηκοότητας και τον μισθό. Μπορείτε εύκολα να δημιουργήσετε διαφορετικό όνομα μεταβλητών, citNo, μισθό για να αποθηκεύσετε αυτές τις πληροφορίες ξεχωριστά.

Ωστόσο, στο μέλλον, θα θέλατε να αποθηκεύσετε πληροφορίες για πολλά άτομα. Τώρα, θα πρέπει να δημιουργήσετε διαφορετικές μεταβλητές για κάθε πληροφορία ανά άτομο: name1, citNo1, gaji1, name2, citNo2, gaji2

Μπορείτε εύκολα να απεικονίσετε πόσο μεγάλο και βρώμικο θα φαίνεται ο κώδικας. Επίσης, δεδομένου ότι δεν θα υπήρχε σχέση μεταξύ των μεταβλητών (πληροφορίες), θα είναι ένα τρομακτικό έργο.

Μια καλύτερη προσέγγιση θα είναι η συλλογή όλων των σχετικών πληροφοριών με ένα μόνο όνομα Personκαι η χρήση τους για κάθε άτομο. Τώρα, ο κώδικας φαίνεται πολύ καθαρότερος, αναγνώσιμος και αποτελεσματικός επίσης.

Αυτή η συλλογή όλων των σχετικών πληροφοριών με ένα μόνο όνομα Personείναι μια δομή.

Πώς να δηλώσετε μια δομή στον προγραμματισμό C ++;

Η structλέξη-κλειδί ορίζει έναν τύπο δομής που ακολουθείται από ένα αναγνωριστικό (όνομα της δομής).

Στη συνέχεια, μέσα στα σγουρά τιράντες, μπορείτε να δηλώσετε ένα ή περισσότερα μέλη (δηλώστε μεταβλητές μέσα σε σγουρά τιράντες) αυτής της δομής. Για παράδειγμα:

 struct Person (όνομα char (50); int age; float μισθό;);

Εδώ ορίζεται ένα άτομο δομής που έχει τρία μέλη: όνομα, ηλικία και μισθό.

Όταν δημιουργείται μια δομή, δεν εκχωρείται μνήμη.

Ο ορισμός της δομής είναι μόνο το προσχέδιο για τη δημιουργία μεταβλητών. Μπορείτε να το φανταστείτε ως τύπο δεδομένων. Όταν ορίζετε έναν ακέραιο όπως παρακάτω:

 int foo;

Τα intπροσδιορίζει ότι, μεταβλητή foo μπορεί να κρατήσει μόνο ακέραιο στοιχείο. Ομοίως, ο ορισμός δομής ορίζει μόνο ότι, τι ιδιότητα κατέχει μια μεταβλητή δομής όταν ορίζεται.

Σημείωση: Θυμηθείτε να τερματίσετε τη δήλωση με ερωτηματικό (;)

Πώς να ορίσετε μια μεταβλητή δομής;

Μόλις δηλώσετε ένα άτομο δομής όπως παραπάνω. Μπορείτε να ορίσετε μια μεταβλητή δομής ως:

 Λογαριασμός προσώπου;

Εδώ, ορίζεται ένας μεταβλητός λογαριασμός δομής που είναι τύπου δομής Ρ erson.

Όταν ορίζεται μεταβλητή δομής, μόνο τότε η απαιτούμενη μνήμη εκχωρείται από τον μεταγλωττιστή.

Λαμβάνοντας υπόψη ότι έχετε είτε σύστημα 32-bit είτε 64-bit, η μνήμη floatείναι 4 byte, η μνήμη intείναι 4 byte και η μνήμη charείναι 1 byte.

Ως εκ τούτου, 58 byte μνήμης εκχωρούνται για δομή μεταβλητού λογαριασμού.

Πώς να αποκτήσετε πρόσβαση σε μέλη μιας δομής;

Τα μέλη της μεταβλητής δομής είναι προσβάσιμα χρησιμοποιώντας έναν τελεστή τελείας (.) .

Ας υποθέσουμε ότι θέλετε να αποκτήσετε πρόσβαση στην ηλικία του μεταβλητού λογαριασμού δομής και να του αντιστοιχίσετε 50 σε αυτόν. Μπορείτε να εκτελέσετε αυτήν την εργασία χρησιμοποιώντας τον ακόλουθο κώδικα παρακάτω:

 bill.age = 50;

Παράδειγμα: Δομή C ++

Πρόγραμμα C ++ για την εκχώρηση δεδομένων σε μέλη μιας μεταβλητής δομής και την προβολή τους.

 #include using namespace std; struct Person ( char name(50); int age; float salary; ); int main() ( Person p1; cout << "Enter Full name: "; cin.get(p1.name, 50); cout <> p1.age; cout <> p1.salary; cout << "Displaying Information." << endl; cout << "Name: " << p1.name << endl; cout <<"Age: " << p1.age << endl; cout << "Salary: " << p1.salary; return 0; ) 

Παραγωγή

Πληκτρολογήστε Πλήρες όνομα: Magdalena Dankova Εισαγάγετε ηλικία: 27 Εισαγάγετε μισθό: 1024.4 Εμφάνιση πληροφοριών. Όνομα: Magdalena Dankova Ηλικία: 27 Μισθός: 1024.4

Εδώ δηλώνεται ένα πρόσωπο που έχει τρία μέλη όνομα, ηλικία και μισθό.

Εσωτερική main()συνάρτηση, ορίζεται μια μεταβλητή δομής p1. Στη συνέχεια, ζητείται από τον χρήστη να εισαγάγει πληροφορίες και εμφανίζονται τα δεδομένα που εισάγει ο χρήστης.

Θα πρέπει επίσης να δείτε αυτά τα σεμινάρια που σχετίζονται με τη δομή:

  • Πώς να περάσετε δομές σε συναρτήσεις;
  • Πώς να χρησιμοποιήσετε δείκτες με δομές;

ενδιαφέροντα άρθρα...