Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Python Προγραμματισμός

Ποια είναι η διαφορά μεταξύ της Dot Συμβολισμός & Arrow Συμβολισμός σε C ​​

; προγραμματιστές χρησιμοποιούν τη γλώσσα προγραμματισμού C για το λογισμικό συστημάτων και κώδικα χαμηλού επιπέδου . Εξαιτίας αυτού , μια από τις δυνατότητες του C είναι η δημιουργία πολύπλοκων δομών δεδομένων . Αυτές οι δομές περιέχουν δεδομένα συλλέγονται μαζί , συχνά αντιπροσωπεύει ένα μεγαλύτερο κομμάτι των δεδομένων με πολλές σχετικές τιμές . Πρόσβαση σε αυτές τις τιμές μέσα συσχέτισης τους με τη δομή χρησιμοποιώντας είτε του ειδικού " dot " και " βέλος" συμβολισμοί (ανάλογα με την περίπτωση) . Δομές C
Η

Δημιουργώντας ένα σύνθετο τύπο δεδομένων σε C περιλαμβάνει τη δημιουργία αυτό που είναι γνωστό ως μια δομή , με τη χρήση του " struct " λέξη κλειδί. Οι δομές αυτές θα περιέχουν συνήθως δύο ή περισσότερες μεταβλητές δεδομένων , και αντιπροσωπεύουν ένα συνεκτικό τύπο δεδομένων ( και όχι μόνο δρα ως μια συλλογή από τυχαία δεδομένα ) . Για παράδειγμα, η ακόλουθη δομή C αντιπροσωπεύει έναν κόμβο σε μια ευρύτερη δομή δεδομένων , και περιέχει ένα κομμάτι των δεδομένων , και ένα δείκτη σε μια άλλη δομή του ίδιου τύπου :

struct του κόμβου {

int δεδομένων = 1 ?

struct * κόμβου επόμενη?

} ?
εικόνων Δείκτες
Η

Μέσα στη δομή " Node" υπάρχει pointer σε μια άλλη δομή του κόμβου . Δείκτες σε δομές είναι πολύ κοινό κατά τη διέλευση μεταβλητές δομή των λειτουργιών . Επίσης, είναι ένας παράγοντας , όταν αποφασίζουν ποια σημειογραφία ένας προγραμματιστής πρέπει να χρησιμοποιήσετε για την αναφορά των δεδομένων δομής . Δείκτες δημιουργήσετε μια αναφορά μνήμης σε έναν τύπο δεδομένων , και όχι η δημιουργία μια ρηχή μεταβλητή για τον τύπο δεδομένων . Έτσι, στο ακόλουθο παράδειγμα , η πρώτη δήλωση που δηλώνει μια μεταβλητή δομή σε ένα τοπικό πεδίο εφαρμογής , που σημαίνει ότι πρέπει να αντιγραφεί και να μετακινηθούν . Η δεύτερη δήλωση δηλώνει ένα δείκτη σε μια δομή στη μνήμη που επιτρέπει τα πράγματα όπως είναι δυναμική κατανομή μνήμης :

struct του κόμβου x ?

Struct * κόμβος y ?
Εικόνων
Dot συμβολισμός
Η

Ο συμβολισμός που απαιτούνται για την πρόσβαση στα δεδομένα των δομών εξαρτάται από το πλαίσιο της δομής . Αν ο προγραμματιστής δηλώνει μια μεταβλητή δομή ως μια τοπική μεταβλητή , τότε θα έχουν πρόσβαση στα δεδομένα μέσω του dot σημειογραφία . Dot σημειογραφία συνδέει απλά μια μεταβλητή δομή και ένα μέλος της δομής δεδομένων, μέσα από μια τελεία σύμβολο ( " . " ) . Τα παρακάτω παραδείγματα δείχνουν πώς ο προγραμματιστής θα ανακτήσετε δεδομένα από μια μεταβλητή του κόμβου μέσω συμβολισμός :

struct του κόμβου x ?

Int j = x.data ? //J ισούται τώρα με ένα

Η Arrow Συμβολισμός
Η

το άλλο πλαίσιο για την ανάκτηση δεδομένων από τις δομές είναι όταν ο προγραμματιστής έχει ένα δείκτη σε μια δομή και όχι μια τοπική μεταβλητή . Όταν ο προγραμματιστής δημιουργεί ένα δείκτη σε μια δομή , δύο πράγματα πρέπει να συμβούν . Πρώτον, πρέπει να δηλώσει το δείκτη του δομή . Δεύτερον , ότι πρέπει να διαθέσει τη μνήμη , έτσι ώστε η μνήμη αναφορές δείκτη με το κατάλληλο μέγεθος . Στη συνέχεια , μπορεί να χρησιμοποιήσει το βέλος σημειογραφία ( " - > " ) για πρόσβαση σε δεδομένα :

struct * κόμβος y ?

Y = malloc ( sizeof ( struct Node) ) ? //Εκχωρεί μνήμη στο y στο μέγεθος ενός κόμβου struct

int j = y - > δεδομένα ? //ακέραιο j ισούται τώρα με ένα
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα