Sobes.tech
Junior — Middle
112

Jak użycie słowa kluczowego static wpływa na zakres i czas życia lokalnych zmiennych w programie?

Firmy, w których zadano pytania
ГК Адепт

Odpowiedź od 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.