Τι θα τυπώσει το παρακάτω;
int x = 42;
int * ptr = &x;
int ** ptr2 = &ptr;
printf("%p %d", *ptr2, **ptr2);
Στη διαφάνεια η μνήμη σχεδιάζεται ως εξής: το x βρίσκεται στη διεύθυνση 100 με
τιμή 42, ο ptr στη διεύθυνση 200 με τιμή 100, και ο ptr2 στη διεύθυνση 400 με
τιμή 200.
Κάθε * «ακολουθεί ένα βέλος»: ξεκινήστε από την τιμή του ptr2 και βρείτε τι
υπάρχει στη διεύθυνση όπου δείχνει, μία φορά για το *ptr2 και δύο φορές για το
**ptr2. Σκεφτείτε επίσης σε τι μορφή τυπώνει το %p.
Αριθμός στον οδηγό: Α12.3
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: slides-lec12-pointer-to-pointer ·
Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec12-pointer-to-pointer.html ·
Markdown (GitHub)