2014-09-22 2 views
0

У меня есть переменная (typedef struct) с определениями оборудования, которые мне нужны в нескольких файлах в моем проекте. Есть ли более элегантный способ сделать это, чем использовать extern?Использование структуры в нескольких файлах

+0

Вы не используете заголовочный файл? – user694733

ответ

1

Что-то вроде singleton, вы можете реализовать метод getInstance.

struct BAR_ *getBarInstance(void) 
{ 
    static struct BAR_ instance; /* = getInitializedBar() */ 
    return &instance; 
} 
2

Я хотел бы предложить вам объявить структуры в основной() и передать его к различным функциям, которые нуждаются в-структуру, чтобы избежать его в качестве глобальной переменной. Просто создайте структуру в заголовке.

Преимущества такого подхода: упрощает тестирование ваших функций - вы можете передавать в макет объектов для имитации различных состояний. Делает более понятным, где используется ваша структура - только функции, которые воспринимают ее как аргумент.

 Смежные вопросы

  • Нет связанных вопросов^_^