static ключевое слово языка Си.

1) Статическая локальная переменная сохраняет свое значение между вызовами функции.
2) Статическая переменная (массив) сразу инициализируется нулем или нулями (если явно не инициализированы другими значениями).
3) Область видимости статической локальной переменной как и у обычной а срок жизни - как у программы.
4) Статическая глобальная переменная имеет область видимости только тот файл где она объявлена.

Ниже пример программы демонстрирующий пункты 1, 2 и 3.


#include <stdio.h> //printf()

void func(){
    static int count; // Статическая переменная инициализируется значением 0 только в первый вызов функции.
    printf("%d ", count); // Выводим значение.
    count++; // Инкрементируем значение. Видим что переменная сохраняет значение между вызовами функции.
}

int main(){
    for(int i = 0; i < 10; i++){
        func(); // Вызываем функцию 10 раз
    }
}
Вывод программы:
0 1 2 3 4 5 6 7 8 9
2023-03-15



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

callback функции в языке Си.
goto оператор языка Си.
inline ключевое слово языка Си. Встраивание функции в код.
main() обязательная функция в языке Си и точка входа в программу.
return ключевое слово языка Си.
static ключевое слово языка Си.