Sobes.tech
Junior — Middle

Ako ovplyvňuje použitie kľúčového slova static vlastnosti globálnych premenných v programe?

sobes.tech AI

Odpoveď od AI

Kľúčové slovo static pri deklarácii globálnej premennej v C/C++ obmedzuje rozsah tejto premennej na aktuálny súbor (prekladovú jednotku). To znamená, že takáto premenná nebude viditeľná ani dostupná z iných súborov, aj keď tieto súbory tento súbor zahrnú cez extern.

Týmto spôsobom static robí globálnu premennú internou pre súbor, zabraňuje konfliktom mien a zabezpečuje enkapsuláciu na úrovni súboru.

Príklad:

// file1.c
static int counter = 0; // viditeľná iba v file1.c

void increment() {
    counter++;
}

// file2.c
extern int counter; // Chyba: counter nie je viditeľná kvôli static