Junior — Middle
Чӣ гуна истифодаи калимаи калидии static ба хусусиятҳои тағйирёбҳои глобалӣ дар барнома таъсир мерасонад?
sobes.tech AI
Ҷавоб аз AI
Ключовата дума static при обявяване на глобална променлива в C/C++ ограничава обхвата на тази променлива до текущия файл (единица за превод). Това означава, че такава променлива няма да бъде видима и достъпна от други файлове, дори ако те включват този файл чрез extern.
По този начин, static прави глобалната променлива вътрешна за файла, предотвратявайки конфликти с имена и осигурявайки инкапсулация на ниво файл.
Пример:
// file1.c
static int counter = 0; // видима само в file1.c
void increment() {
counter++;
}
// file2.c
extern int counter; // Грешка: counter не е видима поради static