ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
610101 Топик полностью
=AlexD= (19.07.2015 21:27 - 21:31, просмотров: 56) ответил AlexG на Хочется странного - сделать в программе структуру к элементам которой можно обратиться не только по названию, но и по порядковому номеру, как к элементам массива. Может все уже придумано и для обозначения такой конструкции есть специальный термин?
Отсортировать поля структуры по размеру. Завести два массива в юнионе, конкретный массив определять по индексу.  union param_t { struct { uint16_t arr_w [2]; uint8_t arr_b [3]; }; struct { uint16_t w1; // 0 int16_t w2; // 1 uint8_t b1; // 2 int8_t b2; // 3 char b3; // 4 }; } param_t; param_t param; #define ARR_PARAM(n) ((n)<2?param.arr_w[n]:param.arr_b[n-2]) void main (void) { int16_t ww = ARR_PARAM(1); int8_t bb = ARR_PARAM(3); int16_t www = param.w2; int8_t bbb = param.b2; } Заодно видны кое-какие грабли, надеюсь очевидные для всех.
Три кита на которых зиждется реклама: враньё, преувеличение, замалчивание. Новости СМИ - это политическая реклама.