Задать вопрос
@thomas_king

Си как получить доступ к локальной статической переменной?

Какие есть варианты решения поставленного вопроса помимо объявления дополнительной функции?
#include <stdio.h>
#include <stdlib.h>

unsigned *retreive(void) {
    static unsigned counter = 0;
    return &counter;
}

void increment(void) {
    unsigned *counter = retreive();
    (*counter)++;
    printf("%i ", *counter);
}

int main(void) {
    for (int i = 0; i < 5; i++) {
        increment();
    }

    return EXIT_SUCCESS;
}
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Академия Codeby
    Курс «Анализ защищенности инфраструктуры на основе технологий Active Directory»
    4 месяца
    Далее
  • Академия Codeby
    Курс «Цифровая криминалистика и реагирование на инциденты ОС Linux (DFIR)»
    14 недель
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы