реклама на сайте
подробности

 
 
> Адресация элементов массива, Не по индексу, а по имени/метке и т.п.
bingo
сообщение Apr 19 2017, 03:01
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 88
Регистрация: 9-04-12
Пользователь №: 71 256



Добрый день, коллеги
Столкнулся со следующей проблемой

Необходима синтаксическая конструкция в Си для адресации некоторых элементов массива по метке (позиция известна при компиляции), а не по индексу.
В массиве хоть и хранятся структуры, но описывается он как массив uint8!!
Массив и структуры в нем определяются API откомпилированной библиотеки, поэтому сильно изменять (чтобы появились у структур именованные поля) не могу!

Сейчас приходится часто менять этот большой массив, поэтому приходится вручную пересчитывать номер позиции в массиве, куда будут в дальнейшем будут писаться байты.

Заранее спасибо за ответы!

Сообщение отредактировал bingo - Apr 19 2017, 04:30
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Apr 19 2017, 10:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bingo @ Apr 19 2017, 09:01) *
Сейчас приходится часто менять этот большой массив, поэтому приходится вручную пересчитывать номер позиции в массиве, куда будут в дальнейшем будут писаться байты.

Код
#define ITEM_1 0
#define ITEM_2 1
#define ITEM_3 2


uint8_t bArray[] =
{
[ITEM_1] = 10,
[ITEM_2] = 20,
[ITEM_3] = 30,
}


Это?


--------------------
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 03:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01649 секунд с 7
ELECTRONIX ©2004-2016