Πώς να εφαρμόσετε δείκτες στο C ++;



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

Δείκτες σε C ++ είναι μια μεταβλητή που κρατά τη διεύθυνση μιας άλλης μεταβλητής στο c ++. Η διεύθυνση αποθηκεύεται στη μεταβλητή δείκτη και βοηθά στην εφαρμογή της κλήσης με αναφορά.

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





Ξεκινώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Σύνταξη:



τύπος δεδομένων * pointername ΠΑΡΑΔΕΙΓΜΑ: int * ptr
  • Μια μεταβλητή δείκτη έχει ένα σύμβολο * πριν από το όνομά της.
  • Ένας δείκτης ονομάζεται επίσης εντοπιστής ή δείκτης.

Χρήσεις του δείκτη:

  • Δυναμική κατανομή μνήμης
  • Σε διάφορα προγράμματα συστοιχιών, δομών και λειτουργιών

Εδώ είναι ένα παράδειγμα κώδικα:

# συμπερίληψη χρησιμοποιώντας χώρο ονομάτων std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Παραγωγή:
Έξοδος - Δείκτες σε C ++ - Edureka



Εξήγηση:

Στο παραπάνω πρόγραμμα, παρουσιάζουμε τη βασική λειτουργία ενός δείκτη. Έχουμε έναν ακέραιο μεταβλητό αριθμό με τιμή 17. Έχουμε μεταβλητή δείκτη ptr τύπου int. Εκχωρούμε τη διεύθυνση του αριθμού στο δείκτη ptr.

Εκτυπώνουμε πρώτα την τιμή του ptr, δηλαδή τη διεύθυνση. Στη συνέχεια, εκτυπώνουμε την τιμή num και στο τέλος, εκτυπώνουμε την τιμή στη θέση που διατηρείται από το δείκτη ptr.

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Δείκτες και πίνακες:

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

Ακολουθεί ένα παράδειγμα κώδικα:

#include χρησιμοποιώντας χώρο ονομάτων std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Παραγωγή: 

Εξήγηση:

Στο παραπάνω πρόγραμμα, παρουσιάζουμε τη βασική λειτουργία ενός δείκτη με έναν πίνακα. Έχουμε έναν πίνακα arr με τιμές 5,10,20. Έχουμε μεταβλητή δείκτη ptr τύπου int. Εκχωρούμε τη διεύθυνση arr στο δείκτη ptr.

Εκτυπώνουμε πρώτα την τιμή του ptr [0], δηλαδή το πρώτο στοιχείο του πίνακα. Στη συνέχεια, εκτυπώνουμε το δεύτερο και το τρίτο στοιχείο αντίστοιχα. Καθώς τα στοιχεία του πίνακα αποθηκεύονται διαδοχικά, έτσι ο δείκτης μπορεί να έχει πρόσβαση στην άλλη τοποθεσία του πίνακα με αύξηση.

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Null Pointers:

Υπάρχει ο τύπος των δεικτών που δεν έχουν καμία τιμή και διατηρούν μια τιμή null

Παράδειγμα :

ακολουθία ινών σε c ++
int * ptr = NULL

Είναι πολύ χρήσιμα σε δομές δεδομένων όπως μια συνδεδεμένη λίστα.

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Άδειοι δείκτες:

Αυτοί είναι οι τύποι δεικτών που δεν έχουν τύπο επιστροφής.

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Δείκτης αριθμητικής λειτουργίας:

Μπορούν να εκτελεστούν διαφορετικές λειτουργίες σε δείκτες. Εδώ είναι μερικοί σημαντικοί τύποι.

  • προσαυξήθηκε (++)
  • μειωμένο (-)
  • διαφορά μεταξύ δύο δεικτών (p1-p2)
  • προσθήκη ακέραιου αριθμού σε δείκτη (+ ή + =)
  • αφαίρεση ακέραιου αριθμού από δείκτη (- ή - =)

Ακολουθεί ένας κώδικας για την επίδειξη ορισμένων από αυτές τις λειτουργίες:

τερματίστε ένα πρόγραμμα σε java
#include χρησιμοποιώντας χώρο ονομάτων std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr για (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Παραγωγή:

Εξήγηση:

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

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Δείκτης σε δείκτη:

Σε αυτόν τον τύπο συστήματος, υπάρχουν δύο δείκτες. Ο πρώτος δείκτης δείχνει τον δεύτερο δείκτη και ο δεύτερος δείκτης δείχνει τη μεταβλητή που κρατά την τιμή.

Ακολουθεί ένα παράδειγμα κώδικα:

# συμπερίληψη χρησιμοποιώντας χώρο ονομάτων std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Παραγωγή:

Προχωρώντας με αυτό το άρθρο σχετικά με τους δείκτες στο C ++

Δείκτης προς συναρτήσεις:

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

#include χρησιμοποιώντας namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (υπόλοιπο, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Παραγωγή

Έτσι περνάμε έναν δείκτη σε μια συνάρτηση.

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με τους «δείκτες στο C ++». Εάν θέλετε να μάθετε περισσότερα, ρίξτε μια ματιά στο από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

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