Назад к вопросам
Junior — Middle
103
Как использование ключевого слова static воздействует на свойства глобальных переменных в программе?
Компании, где спрашивали
ГК Адепт
Ответ от нейросети
sobes.tech AI
Ключевое слово static при объявлении глобальной переменной в C/C++ ограничивает область видимости этой переменной текущим файлом (translation unit). Это значит, что такая переменная не будет видна и доступна из других файлов, даже если они подключают этот файл через extern.
Таким образом, static делает глобальную переменную внутренней для файла, предотвращая конфликты имён и обеспечивая инкапсуляцию на уровне файла.
Пример:
// file1.c
static int counter = 0; // видна только в file1.c
void increment() {
counter++;
}
// file2.c
extern int counter; // Ошибка: counter не видна из-за static