Sobes.tech
Junior — Middle

Hogyan befolyásolja a static kulcsszó használata a globális változók tulajdonságait egy programban?

sobes.tech MI

Válasz az MI-től

A static kulcsszó a C/C++-ban globális változó deklarálásakor korlátozza ennek a változónak a láthatóságát a jelenlegi fájlra (fordítási egységre). Ez azt jelenti, hogy ilyen változó nem lesz látható vagy elérhető más fájlokból, még akkor sem, ha ezek a fájlok extern-nel csatolják ezt a fájlt.

Így a static belsővé teszi a globális változót a fájl számára, megelőzve a névütközéseket és biztosítva a kapszulázást a fájl szintjén.

Példa:

// file1.c
static int counter = 0; // csak a file1.c-ben látható

void increment() {
    counter++;
}

// file2.c
extern int counter; // Hiba: static miatt nem látható