Οδηγός Μελέτης - Εισαγωγή στον Προγραμματισμό

Α12.2 · Πίνακας από δείκτες

Διάλεξη 12, διαφάνεια 29 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 12

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

#include <stdio.h>
int main() {
  int *ptr[3], a = 100, b = 200, c = 300;
  ptr[0] = &a;
  ptr[1] = &b;
  ptr[2] = &c;
  printf("%d %d %d\n", *ptr[2], *ptr[1], *ptr[0]);
  return 0;
}

Υπόδειξη

Το *ptr[2] διαβάζεται ως *(ptr[2]): πρώτα παίρνουμε το στοιχείο του πίνακα (έναν δείκτη) και μετά την τιμή όπου αυτός δείχνει. Προσέξτε τη σειρά των ορισμάτων στο printf.

Αριθμός στον οδηγό: Α12.2 (στο κεφάλαιο) · Μόνιμο αναγνωριστικό: slides-lec12-array-of-pointers · Σύνδεσμος: https://progintro.github.io/study/questions/slides/slides-lec12-array-of-pointers.html · Markdown (GitHub)