У меня есть переменная (typedef struct) с определениями оборудования, которые мне нужны в нескольких файлах в моем проекте. Есть ли более элегантный способ сделать это, чем использовать extern
?Использование структуры в нескольких файлах
0
A
ответ
1
Что-то вроде singleton, вы можете реализовать метод getInstance.
struct BAR_ *getBarInstance(void)
{
static struct BAR_ instance; /* = getInitializedBar() */
return &instance;
}
2
Я хотел бы предложить вам объявить структуры в основной() и передать его к различным функциям, которые нуждаются в-структуру, чтобы избежать его в качестве глобальной переменной. Просто создайте структуру в заголовке.
Преимущества такого подхода: упрощает тестирование ваших функций - вы можете передавать в макет объектов для имитации различных состояний. Делает более понятным, где используется ваша структура - только функции, которые воспринимают ее как аргумент.
Вы не используете заголовочный файл? – user694733