Typedef Struct σε C++

Typedef Struct Se C



Η γλώσσα προγραμματισμού C++ προσφέρει μια λέξη-κλειδί «typedef» που επιτρέπει στους προγραμματιστές να δημιουργούν ψευδώνυμα υπαρχόντων τύπων δεδομένων που μπορεί να είναι βασικοί πρωτόγονοι τύποι όπως «int», «long» ή τύποι δεδομένων δομής που καθορίζονται από τον χρήστη. Η λέξη-κλειδί 'typedef' δεν δημιουργεί νέο τύπο. Αντίθετα, δημιουργεί ένα ψευδώνυμο (ή ένα ψευδώνυμο) ενός υπάρχοντος τύπου. Η χρήση του 'typedef' μπορεί να κάνει τον κώδικα πιο ευανάγνωστο και να εξοικονομήσει ενέργεια και χρόνο που απαιτείται για την επανειλημμένη πληκτρολόγηση μεγάλων ονομάτων. Ωστόσο, εάν χρησιμοποιηθεί πάρα πολύ στο πρόγραμμα, μπορεί να προκαλέσει σύγχυση στον κώδικα, ειδικά σε μεγάλα έργα. Σε αυτό το άρθρο, θα διερευνήσουμε πώς να ορίσουμε μια δομή με το 'typedef', πώς βοηθά στη μείωση της γραμμής κώδικα, ποια είναι η χρήση του 'typedef' και πολλά άλλα με τη βοήθεια επεξηγηματικών παραδειγμάτων.

Κατανόηση της δομής Typedef στη C++

Στην C++, το 'typedef' είναι μια λέξη-κλειδί που παρέχει νέα ονόματα υφιστάμενων ενσωματωμένων τύπων δεδομένων, δεικτών, δομών και τύπων δεδομένων που ορίζονται από το χρήστη που λειτουργούν ως ψευδώνυμο σε ολόκληρο το πρόγραμμα. Για να το θέσουμε απλά, δίνει περιγραφικά ονόματα στους ενσωματωμένους ή οριζόμενους από το χρήστη τύπους δεδομένων που μπορούν να είναι αυτονόητοι. Βοηθά επίσης στη μείωση των γραμμών κώδικα και στην απλοποίηση των περίπλοκων τύπων δεδομένων. Ωστόσο, όπως αναφέρθηκε προηγουμένως, η υπερβολική χρήση του 'typedef' δεν συνιστάται επειδή μπορεί να οδηγήσει σε σύγχυση.

Η δομή είναι μια άλλη λέξη-κλειδί που χρησιμοποιείται για τον ορισμό και την προετοιμασία μιας δομής. Η δομή στη C++ είναι μια σύνθετη δήλωση τύπου δεδομένων που επιτρέπει στους προγραμματιστές να ομαδοποιούν διάφορους τύπους δεδομένων ή μεταβλητές σε ένα μέρος.







Στην C++, το 'struct' και το 'typedef struct' είναι το ίδιο. Δεν υπάρχει πρακτική διαφορά μεταξύ 'typedef struct' και 'struct' καθώς λειτουργούν το ίδιο. Κάθε φορά που μια κλάση, enum, ένωση ή δομή δηλώνεται ή ορίζεται στη C++, δεν είναι απαραίτητο να ορίζονται σιωπηρά ως 'typedef' επειδή είναι, από προεπιλογή, 'typedef'.



Σύνταξη της δομής Typedef στη C++

Η σύνταξη της δομής 'typedef' είναι η ίδια με τη δομή χωρίς 'typedef'. Χρειάζεται απλώς έναν ρητό ορισμό του 'typedef' με τη λέξη-κλειδί 'struct'. Δείτε την πλήρη σύνταξη στα παρακάτω:



typedef struct {
< Τύπος δεδομένων > < μεταβλητή1 > ;
< Τύπος δεδομένων > < μεταβλητή2 > ;
< Τύπος δεδομένων > < μεταβλητή3 > ;
} < struct_name > ;

Η δομή ορίζεται τώρα χρησιμοποιώντας απλώς το . Μπορούμε να ορίσουμε πολλαπλές μεταβλητές αυτού του τύπου δομής. Δείτε τον ακόλουθο ορισμό:





< struct_name > μεταβλητή4, μεταβλητή5, μεταβλητή6 ;

Τώρα, ας διερευνήσουμε μερικά παραδείγματα για μια σαφέστερη και καλύτερη κατανόηση της δομής 'typedef' στη C++.

Παράδειγμα 1:

Στο πρώτο παράδειγμα της δομής «typedef» στη C++, παίρνουμε ένα απλό πρόγραμμα για να εξηγήσουμε πώς μπορεί να οριστεί και να χρησιμοποιηθεί σε έργα C++. Δείτε τον παρακάτω κώδικα και μετά ας προχωρήσουμε στην εξήγηση:



#include
χρησιμοποιώντας χώρο ονομάτων std ;
struct δεκαδικός {
ενθ 1 Δεκεμβρίου ;
ενθ Δεκ2 ; } ;
ενθ κύριος ( ) {
struct δεκαδικό δ ;
ρε. 1 Δεκεμβρίου = 10 ;
ρε. Δεκ2 = 23 ;
cout << ρε. 1 Δεκεμβρίου << endl ;
cout << ρε. Δεκ2 << endl ;
ΕΠΙΣΤΡΟΦΗ 0 ; }

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

Το πρόγραμμα ξεκινά με τη συμπερίληψη του απαραίτητου αρχείου κεφαλίδας, όπως '#include ' και τη χρήση του χώρου ονομάτων 'std' για λειτουργίες εισόδου/εξόδου και φέρνοντας τον χώρο ονομάτων 'std' στο πεδίο εφαρμογής. Μετά από αυτό, ορίζεται μια δομή με το όνομα «δεκαδικός». Η δομή έχει δύο μέλη: 'dec1' και 'dec2', και τα δύο τύπου 'int'.

Στην κύρια συνάρτηση δημιουργείται ένα στιγμιότυπο της δεκαδικής δομής. Αυτό γίνεται χρησιμοποιώντας το 'd;' δήλωση δεκαδική. Η δομή έχει δύο μέλη, επομένως έχουμε πρόσβαση και στα δύο χρησιμοποιώντας την περίπτωση 'd'. Οι τιμές 'dec1' και 'dec2' εκχωρούνται στη συνέχεια με 10 και 23, αντίστοιχα, χρησιμοποιώντας τον ορισμό 'd.dec1' και 'd.dec2'. Τέλος, οι τιμές 'dec1' και 'dec2' εκτυπώνονται στην κονσόλα χρησιμοποιώντας το 'cout'. Το πρόγραμμα δίνει τις ακόλουθες εξόδους:

Το δεδομένο στιγμιότυπο εξόδου δείχνει πώς χρησιμοποιείται μια απλή δομή 'typedef' με το όνομα 'decimal' για την αποθήκευση και το χειρισμό δύο δεκαδικών αριθμών εντός της κύριας συνάρτησης. Η δομή 'typedef' επιτρέπει την καλύτερη οργάνωση και διαχείριση των σχετικών δεδομένων σε ένα πρόγραμμα C++.

Παράδειγμα 2:

Στο παράδειγμα που εξηγήσαμε προηγουμένως, δίνεται μόνο ένας τύπος δεδομένων στη δομή. Τώρα, ας ορίσουμε πολλούς τύπους δεδομένων σε μια δομή και ας δούμε πώς το 'typedef' μπορεί να βοηθήσει στη μείωση της γραμμής των κωδικών και στην απλοποίηση των περιπλοκών του κώδικα. Ο κωδικός δίνεται στα παρακάτω για αναφορά σας:

#include
χρησιμοποιώντας χώρο ονομάτων std ;
typedef struct λεξικό {
ενθ ταυτότητα ;
όνομα συμβολοσειράς ;
μακρύς rollnum ;
απανθρακώνω όνομα τάξης ;
} υπαγόρευση ;
ενθ κύριος ( )
{
δεδομένα υπαγόρευσης ;
δεδομένα. ταυτότητα = είκοσι ;
δεδομένα. όνομα = 'Kalsoom' ;
δεδομένα. rollnum = 123456789 ;
δεδομένα. όνομα τάξης = 'ΡΕ' ;
cout << 'Η ταυτότητα του υποψηφίου είναι =' << δεδομένα. ταυτότητα << endl ;
cout << 'Το όνομα του υποψηφίου είναι =' << δεδομένα. όνομα << endl ;
cout << 'Το rollnum του υποψηφίου είναι = ' << δεδομένα. rollnum << endl ;
cout << 'Το όνομα της τάξης του υποψηφίου είναι = ' << δεδομένα. όνομα τάξης << endl ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Όπως το προηγούμενο παράδειγμα, αυτό το πρόγραμμα έχει επίσης ξεκινήσει το απαραίτητο αρχείο κεφαλίδας, όπως '#include ' και χρησιμοποιεί τον χώρο ονομάτων 'std' για να εκτελέσει τις βασικές λειτουργίες εισόδου/εξόδου. Μετά από αυτό, ορίζεται μια δομή λεξικού με τέσσερα μέλη: id, name, rollnum και classname. Η λέξη-κλειδί 'typedef' δημιουργεί ένα ψευδώνυμο 'dict' για αυτήν τη δομή. Αυτό το ψευδώνυμο επιτρέπει στη δομή να αναφέρεται απλώς ως 'dict' αντί για το λεξικό struct.

Τώρα, στην κύρια συνάρτηση, ορίζουμε πρώτα ένα στιγμιότυπο του λεξικού δομής που ονομάζεται 'dict' ως ένα στοιχείο που λειτουργεί ως ψευδώνυμο του 'dict'. Οι τιμές εκχωρούνται σε κάθε μέλος της δομής χρησιμοποιώντας τις ακόλουθες δηλώσεις:

δεδομένα. ταυτότητα = είκοσι ;
δεδομένα. όνομα = 'Kalsoom' ;
δεδομένα. rollnum = 123456789 ;
δεδομένα. όνομα τάξης = 'ΡΕ' ;

Όπως μπορείτε να παρατηρήσετε, αυτές οι τιμές είναι διαφορετικών τύπων – int, string, long και char. Χρησιμοποιώντας τη δήλωση 'cout', εκτυπώνουμε όλες τις καθορισμένες τιμές στην κονσόλα. Ας δούμε την έξοδο του προγράμματος στο παρακάτω στιγμιότυπο:

Το στιγμιότυπο οθόνης εξόδου δείχνει ξεκάθαρα τη χρήση ενός 'typedef' με τη δομή που περιέχει πολλούς τύπους δεδομένων για τη δημιουργία ενός ψευδώνυμου για μια δομή. Παρέχει έναν πιο συνοπτικό, ευανάγνωστο και απλούστερο τρόπο εργασίας με τις δομές του πλήρους προγράμματος C++.

συμπέρασμα

Για να συνοψίσουμε τη δομή 'typedef' στη C++, το 'typedef' είναι μια λέξη-κλειδί που χρησιμοποιείται στη C++ για τη δημιουργία ψευδωνύμων πρωτόγονων, ενσωματωμένων ή καθορισμένων από τον χρήστη τύπων δεδομένων. Σε συνδυασμό με τη λέξη-κλειδί 'struct', το 'typedef' είναι ένα ισχυρό εργαλείο για τη βελτίωση της συνοπτικότητας και της σαφήνειας του κώδικα. Ο ορισμός 'typedef' συνήθως βοηθά στη μείωση των γραμμών των περιοχών κώδικα και μνήμης. Ωστόσο, η υπερβολική χρήση του 'typedef' δεν συνιστάται σε κανένα πρόγραμμα, ούτε σύντομο ούτε μεγάλο, και πολύπλοκα έργα, επειδή μπορεί να δημιουργήσει ασάφεια. Σε αυτό το άρθρο, εξερευνήσαμε τη δομή 'typedef' με τη βοήθεια απλών παραδειγμάτων για να κατανοήσουμε τη λειτουργία, την υλοποίηση και τη χρήση του 'typedef' σε προγράμματα C++.