C enum (απαρίθμηση)

Σε αυτό το σεμινάριο, θα μάθετε για το enum (απαρίθμηση) στον προγραμματισμό C με τη βοήθεια παραδειγμάτων.

Στον προγραμματισμό C, ένας τύπος απαρίθμησης (ονομάζεται επίσης enum) είναι ένας τύπος δεδομένων που αποτελείται από ακέραιες σταθερές. Για τον ορισμό των αθροισμάτων, χρησιμοποιείται η enumλέξη-κλειδί.

 σημαία enum (const1, const2,…, constN); 

Από προεπιλογή, const1 είναι 0, const2 είναι 1 και ούτω καθεξής. Μπορείτε να αλλάξετε τις προεπιλεγμένες τιμές των στοιχείων enum κατά τη δήλωση (εάν είναι απαραίτητο).

 // Αλλαγή προεπιλεγμένων τιμών enum constants enum suit (club = 0, διαμάντια = 10, καρδιές = 20, μπαστούνια = 3,);

Αριθμητική δήλωση τύπου

Όταν ορίζετε έναν τύπο enum, δημιουργείται το σχεδιάγραμμα για τη μεταβλητή. Δείτε πώς μπορείτε να δημιουργήσετε μεταβλητές τύπων enum.

enum boolean (ψευδές, αληθινό); enum boolean check; // δηλώνοντας μια μεταβλητή enum

Εδώ, δημιουργείται ένας μεταβλητός έλεγχος του τύπου enum boolean.

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

 enum boolean (false, true) έλεγχος; 

Εδώ, η τιμή falseείναι ίση με 0 και η τιμή trueείναι ίση με 1.

Παράδειγμα: Τύπος απαρίθμησης

 #include enum week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); int main() ( // creating today variable of enum week type enum week today; today = Wednesday; printf("Day %d",today+1); return 0; ) 

Παραγωγή

 Ημέρα 4

Γιατί χρησιμοποιούνται τα ποσά;

Μια μεταβλητή enum μπορεί να πάρει μόνο μία τιμή. Εδώ είναι ένα παράδειγμα για να το αποδείξετε,

 #include enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; printf("Size of enum variable = %d bytes", sizeof(card)); return 0; ) 

Παραγωγή

 Μέγεθος της μεταβλητής enum = 4 byte

Εδώ, παίρνουμε 4 επειδή το μέγεθος intείναι 4 byte.

Αυτό καθιστά το enum μια καλή επιλογή για εργασία με σημαίες.

Πώς να χρησιμοποιήσετε τα αθροίσματα για σημαίες;

Ας πάρουμε ένα παράδειγμα,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Ας υποθέσουμε ότι σχεδιάζετε ένα κουμπί για την εφαρμογή των Windows. Μπορείτε να ορίσετε σημαίες ITALICS, BOLD και UNDERLINE ώστε να λειτουργεί με κείμενο.

Υπάρχει ένας λόγος για τον οποίο όλες οι ακέραιες σταθερές έχουν ισχύ 2 στον παραπάνω ψευδοκώδικα.

 // Σε δυαδικά ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Δεδομένου ότι οι ακέραιες σταθερές έχουν ισχύ 2, μπορείτε να συνδυάσετε δύο ή περισσότερες σημαίες ταυτόχρονα χωρίς επικάλυψη χρησιμοποιώντας bitwise Ή | χειριστής. Αυτό σας επιτρέπει να επιλέξετε δύο ή περισσότερες σημαίες ταυτόχρονα. Για παράδειγμα,

 #include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; ) 

Παραγωγή

 5

Όταν η έξοδος είναι 5, γνωρίζετε πάντα ότι χρησιμοποιείται έντονη και υπογράμμιση.

Επίσης, μπορείτε να προσθέσετε σημαίες σύμφωνα με τις απαιτήσεις σας.

 if (myDesign & ITALICS) (// κωδικός για πλάγια γράμματα)

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

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

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