Юра (25.04.2013 13:01, просмотров: 1) ответил Andreas на Бывает, что структура описана в одном месте, а объявлена и инициализирована константами в совершенно другом. Вы примерно это имели в виду? Тогда я не понял нифига, можно пример?
Наверно, кому-то надо, чтобы всякий ньюфаг без регистрации не мог кодовый вопрос задать или кусок кода выложить)). Массив const int Arr[]={ADDR_IO, ADDR_DC, ADDR_MUX_LEDS, ... и еще дофига }. Где-то для него определен typedef enum{ADDR_IO, ADDR_DC, ADDR_MUX_LEDS, ... и еще дофига }; Проблема - эти "списки", расположенные в разных местах, должны сохранять "синхронизм" при изменении/добавлении элементов. Поэтому сверхзадача - сделать чтобы все изменения/добавки делались в одном месте c применением условной компиляции. Пусть это будет Н-файл, в котором #ifdef TERM typedef enum #else const int Arr[]= #endif {ADDR_IO, ADDR_DC,... и т.д.
То есть элементы меняются только в одном месте, которое будет то энумом, то массивом. Для простоты не приведена инициализация элементов enum'а значениями.