Ακριβώς όπως και στις περισσότερες άλλες γλώσσες προγραμματισμού , οι μεταβλητές είναι το θεμέλιο της C. Χωρίς αυτούς , οι προγραμματιστές δεν θα μπορούσε να εκτελέσει πολλές λειτουργίες νόημα που εξαρτώνται από την τρέχουσα κατάσταση του προγράμματος . Οι μεταβλητές στα δεδομένα C αναμονή για περαιτέρω χρήση και δηλώνονται από τον προγραμματιστή και αποδίδεται αξία . C αντιπροσωπεύει μια " έντονα δακτυλογραφημένη " γλώσσα, που σημαίνει ότι ο προγραμματιστής πρέπει επίσης να δηλώσει τον τύπο δεδομένων της μεταβλητής . Έτσι , για παράδειγμα , μια μεταβλητή γραφτό να κρατήσει έναν ακέραιο πρέπει να δηλώνονται με την " int " κλειδί προηγείται το όνομα της μεταβλητής .
Εικόνων Μεταβλητή Αρχικοποίηση
Η
Όταν ένας προγραμματιστής δηλώνει μια μεταβλητή στο πρόγραμμα της C , ο compiler θέτει στην άκρη αρκετή μνήμη για να κρατήσει τα στοιχεία της μεταβλητής . Ο compiler κάνει αυτό κατά τη μεταγλώττιση , πράγμα που σημαίνει ότι πριν από το πρόγραμμα τρέχει ακόμα , ο compiler έχει τις οδηγίες για να αναιρέσει τη μνήμη για ορισμένους τύπους των μεταβλητών . Ωστόσο , η μνήμη ο compiler θέτει στην άκρη θα μπορούσε να περιέχει τίποτα. Μια προετοιμαστεί μεταβλητή μπορεί να αποθηκεύσει οποιαδήποτε τιμή , ή τίποτα καθόλου . Γι 'αυτό είναι μέχρι τον προγραμματιστή για να προετοιμάσει τη μεταβλητή . Ο κώδικας που ακολουθεί δείχνει τη διαφορά μεταξύ ενός αρχικοποιημένη και uninitialized μεταβλητή στη C :
int x ? //Δεν valueint y = 3 ? //Y έχει αξία , 3 φωτογραφίες
δομές
Η
δομές δεδομένων είναι παρόμοια με μεταβλητές σε C από το ότι αντιπροσωπεύουν τα δεδομένα κάτω από ένα όνομα μεταβλητής . Ωστόσο , οι δομές , που συμβολίζεται με το " struct " κλειδί , κρατήστε μια συλλογή από διάφορα στοιχεία που προορίζονται να συνεργαστούν σε κάποιο είδος λογικό τρόπο . Δομές αντιπροσωπεύουν ένα είδος του τύπου των δεδομένων, ώστε να μπορεί να κηρυχθεί μεταβλητές δομών . Για παράδειγμα, ο παρακάτω κώδικας απεικονίζει τη διαφορά μεταξύ ενός δομή και μια μεταβλητή. Η struct " y" υποδηλώνει ένα νέο τύπο δεδομένων " y" από την οποία ο προγραμματιστής μπορεί να δηλώσει μεταβλητές :
int x ? //Μεταβλητή
struct { y int j ? Char k ? } ;//struct που κατέχει ένα ακέραιο και ένα μεταβλητό χαρακτήρα
y struct_variable ? //μεταβλητή τύπου " y "
εικόνων Δομή Αρχικοποίηση
Η
Μοιάζει πολύ με μεταβλητές, το compiler θέτει στην άκρη χώρο μνήμης για τη δομή , όταν έχουν δηλωθεί . Ωστόσο , οι δομές δεν ξεκινήσει μέχρι ο προγραμματιστής τους προετοιμάζει . Η μνήμη που προορίζεται για την κατασκευή μπορεί να κρατήσει όλα τα δεδομένα για όλες τις μεταβλητές στη δομή , αλλά καμία από τις μεταβλητές που θα περιέχει καμία ουσιαστική αξία . Ως εκ τούτου , όπως αποδεικνύεται από το ακόλουθο κώδικα , ο προγραμματιστής πρέπει να προετοιμάσει τις τιμές της μεταβλητής , είτε όταν δηλώνει την πραγματική δομή ή όταν δηλώνοντας μια μεταβλητή τύπου δομής :
struct { int num = 2 ? Int num2 = 3 ? } ?
struct { y int j ? char k ? }
y struct_variable = { 1 , "e" } ?
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα