Необходимо обратиться к статической переменной из другой функции. Пример в коде:
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();
}
Но сама потребность в подобных извращениях говорит о том, что архитектура кода крайне непродумана, и её нужно менять. Без вариантов.
Комментариев нет:
Отправить комментарий