Sobes.tech
Назад к вопросам
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