Sobes.tech
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