Страницы

Поиск по вопросам

четверг, 10 января 2019 г.

Вызов статической переменной из другой функции

Необходимо обратиться к статической переменной из другой функции. Пример в коде:
void First(void) { static int a = 5; }
void Second(void) { //Тут необходимо узнать значение переменной 'a' из функции 'Firts' }


Ответ

Напрямую - никак. Область видимости статической переменной внутри функции ограничена самой этой функцией. Можно извернуться как-то так:
int *First( void ) { static int a = 0; return &a; } void Second( void ) { my *First_A_Pointer = First(); }
Но сама потребность в подобных извращениях говорит о том, что архитектура кода крайне непродумана, и её нужно менять. Без вариантов.

Комментариев нет:

Отправить комментарий