Εγγραφές

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

Το πρόγραμμα ξεκινά με τη δήλωση δύο μεταβλητών με ονόματα boy και girl. 
'Ομως πριν από τα ονόματα δεν υπάρχει κάποια από τις συνηθισμένες λέξεις 
κλειδιά που δηλώνουν τύπο μεταβλητής αλλά η λέξη struct που σημαίνει οτι 
ακολουθεί δήλωση εγγραφής. Τα δεδομένα (οι απλοί τύποι) που περιλαμβάνονται 
στην εγγραφή βρίσκονται ανάμεσα σε αγκύλες και ονομάζονται συνήθως πεδία. 
Το καθε πεδίο έχει το δικό του όνομα και τον δικό του τύπο ακριβώς όπως μιά 
απλή μεταβλητή. Έτσι η εγγραφή αποτελείται από τρία πεδία: το πεδίο initial 
του τύπου char και τα πεδία age, grade του τύπου int.

Σύμφωνα με αυτή τη δήλωση αυτή ο μεταφραστής κρατά στη μνήμη χώρο γιά δύο 
μεταβλητές, τις boy και girl. Οι μεταβλητές αυτές όμως δεν έχουν περιεχόμενο 
σαν τέτοιες αλλά μόνο μέσω των πεδίων τους. Επομένως ο χώρος που 
καταλαμβάνουν στη μνήμη είναι το άθροισμα των θέσεων μνήμης που απαιτούν 
τα πεδία τους. Το σχήμα που ακολουθεί εξηγεί τα παραπάνω. Οι δύο μεταβλητές 
εγγραφές boy, girl καταλαμβάνουν 2x(1+2+2)=10 bytes.
Προσέξτε οτι το πεδίο κάθε μεταβλητής εγγραφής έχει το δικό του όνομα που 
γενικά σχηματίζεται ως εξής

όνομα εγγραφής.όνομα πεδίου

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

H is 14 years old and got a grade of 82
R is 15 years old and got a grade of 75

Περιεχόμενα Κεφαλαίου