Όλα όσα πρέπει να γνωρίζετε για τους δείκτες στο Γ

Αυτό το άρθρο θα σας παρουσιάσει ένα θέμα που θεωρείται δύσκολο να μάθετε, αναφερόμαστε στο θέμα των δεικτών στη γλώσσα Γ.

Κατά τη διάρκεια της εκμάθησης Γ, μπορεί να έχετε συναντήσει τον όρο «Δείκτες» και συχνά έχετε ακούσει ότι είναι μια έννοια δύσκολη στην κατανόηση. Οι δείκτες είναι χρήσιμοι σε διάφορες εργασίες προγραμματισμού και, δεν είναι τόσο δύσκολο να κατανοηθεί. Αυτό το άρθρο θα σας παρουσιάσει δείκτες στο C και θα σας πει γιατί δεν είναι τόσο δύσκολο να μάθουν όσο φαίνονται.



εργαλεία που χρησιμοποιούνται σε μεγάλη ανάλυση δεδομένων

Ακολουθούν οι δείκτες που καλύπτονται σε αυτό το άρθρο,



  1. Τι είναι ένας δείκτης;
  2. Χειριστές αναφοράς και απο-αναφοράς
  3. Τύποι δεικτών
  4. Πώς να χρησιμοποιήσετε ένα δείκτη

Ας ξεκινήσουμε με το πρώτο κομμάτι αυτού του δείκτη στο άρθρο Γ,

Δείκτες σε Γ

Τι είναι ένας δείκτης;

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



Ας καταλάβουμε ότι είναι σύνταξη και ρίξτε μια ματιά σε ένα παράδειγμα

Data_Type * pointer_name

Παράδειγμα: int * ptr

Ακολουθεί το επόμενο κομμάτι σε αυτό το άρθρο Δείκτες στο Γ



Χειριστές αναφοράς και απο-αναφοράς

Πριν βυθιστείτε περισσότερο στην έννοια του δείκτη, ας καταλάβουμε μερικά βασικά στοιχεία που θα μας βοηθήσουν αργότερα. Ενώ χρησιμοποιείτε δείκτες, σίγουρα θα χρησιμοποιήσετε τελεστές «&» και ‘*’. Τώρα είναι η ώρα να κατανοήσουμε τη σημασία και τη χρήση τους.

Αρχικά, ας κατανοήσουμε τον τελεστή αναφοράς που συχνά ονομάζεται «Διεύθυνση». Η χρήση (ampersand) χειριστή με μια μεταβλητή μας επιστρέφει μια θέση μνήμης γνωστή και ως διεύθυνση της δεδομένης μεταβλητής.

Παράδειγμα

int * ptr int a ptr = & a

Η διεύθυνση της μεταβλητής «a» αποθηκεύεται σε μεταβλητή ptr.

Τώρα, ας κατανοήσουμε τον τελεστή De-Reference ή «Value at» που δηλώνεται με αστερίσκο (*). Βοηθά στην ανάκτηση της τιμής από τη θέση μνήμης που είναι αποθηκευμένη στη μεταβλητή δείκτη

Παράδειγμα

int * ptr int a * ptr = & a printf ('Τιμή a =% dn', * ptr)

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

Υπάρχουν διάφοροι τύποι δεικτών που διαφέρουν ανάλογα με τον τρόπο που χρησιμοποιούνται σε ένα πρόγραμμα.Θα εξετάσουμε μερικούς από τους πιο συχνά χρησιμοποιούμενους τύπους.

μετατροπή διπλού σε int java

Null Pointer

Μια μηδενική τιμή εκχωρείται σε ένα δείκτη όταν δεν είστε σίγουροι ποια διεύθυνση πρόκειται να εκχωρηθεί. Αυτό μπορεί να γίνει εκχωρώντας την τιμή «NULL» σε έναν δείκτη κατά τη στιγμή της δήλωσης. Η τιμή αυτού του δείκτη είναι 0.

int * ptr = NULL

Άγριος δείκτης

Ένας χαρακτήρας μπαλαντέρ δημιουργείται με μη εκχώρηση οποιασδήποτε τιμής σε μια μεταβλητή δείκτη. Θα πρέπει να χρησιμοποιείται προσεκτικά, καθώς μπορεί να οδηγήσει σε απρόσμενα αποτελέσματα.

Κουνάμενος δείκτης

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

Πώς να χρησιμοποιήσετε ένα δείκτη

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

Κανονικά, αυτές οι λειτουργίες εκτελούνται σε συστοιχίες. Η αφαίρεση σε 2 διευθύνσεις μπορεί να μας δώσει την απόσταση μεταξύ 2 τοποθεσιών μνήμης.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Ο πίνακας μας στον οποίο θα εκτελέσουμε λειτουργίες * / int * ptr / * Δείκτης * / ptr = First_array / * Ορίστε τη διεύθυνση του πίνακα στη μεταβλητή δείκτη * / για (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

Παραγωγή

Έξοδος - Δείκτες σε C - EdurekaΔοκιμάστε να εφαρμόσετε τον κώδικα μόνοι σας και εκτελέστε διαφορετικές αριθμητικές πράξεις.Ας χρησιμοποιήσουμε δείκτες με χορδές.

#include #include int main () {char str [] = 'Hello World' / * Δημιουργία πίνακα * / char * p / * Pointer * / p = str printf ('Εκτύπωση όλων των χαρακτήρων στο stringn') p = str για (int i = 0i


Με αυτό φτάνουμε στο τέλος αυτού του ιστολογίου στο 'Pointers In C'. Ελπίζω να βρήκατε αυτό το ενημερωτικό και χρήσιμο, μείνετε συντονισμένοι για περισσότερα μαθήματα σχετικά με παρόμοια θέματα. Μπορείτε επίσης να δείτε το εκπαιδευτικό μας πρόγραμμα t
o να αποκτήσετε σε βάθος γνώσεις σχετικά με το jQuery μαζί με τις διάφορες εφαρμογές του, μπορείτε για ζωντανή διαδικτυακή εκπαίδευση με 24ωρη υποστήριξη και πρόσβαση σε όλη τη διάρκεια ζωής.Εφαρμόστε τον παραπάνω κώδικα με διαφορετικές συμβολοσειρές και τροποποιήσεις. Τώρα, έχουμε καλή κατανόηση όλων των βασικών εννοιών που σχετίζονται με το δείκτη.

Έχετε μια ερώτηση για εμάς; Αναφέρετέ τα στην ενότητα σχολίων αυτού του ιστολογίου και θα επικοινωνήσουμε μαζί σας.