Junior — Middle
Kako upotreba ključne reči static utiče na svojstva globalnih promenljivih u programu?
sobes.tech АИ
Одговор од АИ
Ključna riječ static pri deklaraciji globalne promenljive u C/C++ ograničava opseg te promenljive na trenutnu datoteku (jedinicu prevođenja). To znači da takva promenljiva neće biti vidljiva ni dostupna iz drugih datoteka, čak i ako one uključuju ovu datoteku putem extern.
Stoga, static čini globalnu promenljivu internom za datoteku, sprečavajući konflikte imena i obezbeđujući enkapsulaciju na nivou datoteke.
Primer:
// file1.c
static int counter = 0; // vidljiva samo u file1.c
void increment() {
counter++;
}
// file2.c
extern int counter; // Greška: counter nije vidljiv zbog static