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

Α14.5 · Επισκίαση παγκόσμιας μεταβλητής

Διάλεξη 14, διαφάνειες 14–16 · Δυσκολία ★☆☆ · trace · Κεφάλαια: 14

Όταν μια δήλωση μεταβλητής βρίσκεται εντός εμβέλειας άλλης μεταβλητής με το ίδιο όνομα, τότε η εσωτερική μεταβλητή επισκιάζει (shadows) την άλλη. Τι θα τυπώσει;

#include <stdio.h>
int baz = 42;
int main() {
  int baz = 43;
  printf("baz: %d\n", baz);
  return 0;
}

Υπόδειξη

Βρείτε την εμβέλεια της παγκόσμιας baz και της τοπικής baz της main. Στο σημείο της printf είναι ορατές και οι δύο· ποια δήλωση είναι η πιο «εσωτερική»;

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