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ó