cpp:pointers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Next revisionBoth sides next revision | ||
cpp:pointers [2021/04/27 04:23] – [Δείκτες και πίνακες] gthanos | cpp:pointers [2021/04/27 04:34] – [Δείκτες αμετάβλητου περιεχομένου και δείκτες αμετάβλητης διεύθυνσης (const)] gthanos | ||
---|---|---|---|
Line 136: | Line 136: | ||
</ | </ | ||
- | ===== Δείκτες αμετάβλητου περιεχομένου | + | ===== Δείκτες αμετάβλητου περιεχομένου ===== |
Είδαμε ότι οι δείκτες είναι μεταβλητές που περιέχουν διευθύνσεις μνήμης στις οποίες αποθηκεύονται άλλες μεταβλητές. Μέσω των δεικτών μπορούμε να διαβάσουμε και να γράψουμε το περιεχόμενο μία διεύθυνσης μνήμης. Υπάρχουν όμως περιπτώσεις που ένας δείκτης είναι επιθυμητό να διαβάζει μόνο τα περιεχόμενα των διευθύνσεων μνήμης στα οποία δείχνει χωρίς να μπορεί να τα μεταβάλλει. Σε αυτή την περίπτωση αρκεί να δηλώσετε τον τύπο δεδομένων στον οποίο δείχνει ο δείκτης ως //const// ως εξής: | Είδαμε ότι οι δείκτες είναι μεταβλητές που περιέχουν διευθύνσεις μνήμης στις οποίες αποθηκεύονται άλλες μεταβλητές. Μέσω των δεικτών μπορούμε να διαβάσουμε και να γράψουμε το περιεχόμενο μία διεύθυνσης μνήμης. Υπάρχουν όμως περιπτώσεις που ένας δείκτης είναι επιθυμητό να διαβάζει μόνο τα περιεχόμενα των διευθύνσεων μνήμης στα οποία δείχνει χωρίς να μπορεί να τα μεταβάλλει. Σε αυτή την περίπτωση αρκεί να δηλώσετε τον τύπο δεδομένων στον οποίο δείχνει ο δείκτης ως //const// ως εξής: | ||
Line 180: | Line 180: | ||
</ | </ | ||
- | Από τον παραπάνω παράδειγμα παρατηρήστε ότι ο δείκτης //start// στη συνάρτηση // | + | Από τον παραπάνω παράδειγμα παρατηρήστε ότι ο δείκτης //start// στη συνάρτηση // |
+ | |||
+ | ===== Δείκτες αμετάβλητης διεύθυνσης ===== | ||
+ | |||
+ | Υπάρχουν περιπτώσεις | ||
<code c> | <code c> | ||
Line 187: | Line 191: | ||
</ | </ | ||
- | όπως στο παρακάτω παράδειγμα: | + | Το παρακάτω παράδειγμα |
<code c const_address.cpp> | <code c const_address.cpp> | ||
Line 208: | Line 212: | ||
</ | </ | ||
- | Τέλος εάν επιθυμείτε να έχετε | + | ===== Δείκτες αμετάβλητης διεύθυνσης και αμετάβλητου |
+ | |||
+ | Στην περίπτωση που | ||
<code c>char c = ' | <code c>char c = ' | ||
Line 248: | Line 254: | ||
<code c> | <code c> | ||
int x; | int x; | ||
- | int * p1 = & | + | int * p1 = & |
- | const int * p2 = & | + | const int * p2 = & |
- | int * const p3 = & | + | int * const p3 = & |
- | const int * const p4 = & | + | const int * const p4 = & |
</ | </ | ||
</ | </ |
cpp/pointers.txt · Last modified: 2023/04/25 13:14 by gthanos