Что такое статическая переменная (static variable) в C?
Этот вопрос проверяет понимание статических переменных, их хранения и особенностей.
Короткий ответ
Статическая переменная объявляется с ключевым словом static и сохраняет своё значение между вызовами функции. В отличие от локальных переменных, она не уничтожается после выхода из области видимости.
Длинный ответ
Что делает static?
Переменная создаётся один раз и сохраняет значение между вызовами функции.
Пример использования:
#include <stdio.h>
void counter() {
static int count = 0; // Переменная сохраняет значение между вызовами
count++;
printf("Счётчик: %d\n", count);
}
int main() {
counter();
counter();
counter();
return 0;
}
Выходные данные:
Счётчик: 1
Счётчик: 2
Счётчик: 3 static используется для хранения состояния переменной между вызовами функции.