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

 
 
> Структуры данных
inventor
сообщение Jan 18 2018, 10:02
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Подскажите мне вот такую вещь
я хочу реализовать какой то хранитель или тип для данных разного размера
пример: по COM порту приходит пачка данных размером от
10 до 1000 байт.
я хочу положить их в свою структуру данных
данные разного размера
в какой то другом потоке я их забираю по указателю
если это что то типа связного списка или очередеи
то я вижу что там данные одного размера
чета я не понимаю, как мне сделать
чтобы хранить разный размер.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Baser
сообщение Jan 18 2018, 17:51
Сообщение #2


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(inventor @ Jan 18 2018, 12:02) *
я хочу реализовать какой то хранитель или тип для данных разного размера
пример: по COM порту приходит пачка данных размером от
10 до 1000 байт.
я хочу положить их в свою структуру данных
данные разного размера

Если вы хотите статический буфер, то придется выделять память под максимальный размер данных.
Далее применять union, как расписал ArtemKAD

Если же вы хотите каждый раз иметь буфер различной длины по размеру пришедшего пакета,
то применяйте динамическое выделение памяти из heap, при помоши malloc/free.
В первом слове буфера храните длину данных,
указатель на буфер передавайте в другой поток для чтения. Семафоры не забудьте.
Go to the top of the page
 
+Quote Post



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

 


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


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