Back to questions
Junior — Middle
86
Как использование ключевого слова static влияет на области видимости и lifetime локальных переменных в программе?
Companies where asked
ГК Адепт
Answer from AI
sobes.tech AI
Ключевое слово static при объявлении локальной переменной в функции изменяет время жизни и область видимости этой переменной.
- Область видимости: переменная остается локальной для функции, то есть доступна только внутри этой функции.
- Время жизни (lifetime): переменная существует на протяжении всего времени выполнения программы, а не только во время вызова функции.
Это означает, что значение такой переменной сохраняется между вызовами функции.
Пример:
#include <stdio.h>
void func() {
static int count = 0; // инициализация происходит один раз
count++;
printf("Count: %d\n", count);
}
int main() {
func(); // Count: 1
func(); // Count: 2
func(); // Count: 3
return 0;
}
В этом примере переменная count сохраняет своё значение между вызовами func благодаря static.