Sobes.tech
Junior — Middle

Πώς επηρεάζει η χρήση της λέξης-κλειδιού static τις ιδιότητες των παγκόσμιων μεταβλητών σε ένα πρόγραμμα;

sobes.tech AI

Απάντηση από AI

Η λέξη-κλειδί static κατά την δήλωση μιας παγκόσμιας μεταβλητής σε C/C++ περιορίζει το πεδίο ορατότητας αυτής της μεταβλητής στο τρέχον αρχείο (μονάδα μετάφρασης). Αυτό σημαίνει ότι μια τέτοια μεταβλητή δεν θα είναι ορατή και προσβάσιμη από άλλα αρχεία, ακόμη και αν αυτά συμπεριλαμβάνουν αυτό το αρχείο μέσω extern.

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

Παράδειγμα:

// file1.c
static int counter = 0; // ορατή μόνο στο file1.c

void increment() {
    counter++;
}

// file2.c
extern int counter; // Σφάλμα: ορατότητα λόγω static