Использование указателя для извлечения из кругового массива - PullRequest
0 голосов
/ 18 октября 2019

Я хочу вывести из циклического массива из произвольной точки очередь, используя подпрограмму для удаления из очереди. Я хочу сделать это указателем, это возможно?

unsigned char *ptrDisc, len;
unsigned char Queue[50]; //my circular array
unsigned char Pckt[20]; //array where I put my extracted data
unsigned char ind_pop, ind_push; //index from circular array

len=10; //10byte to extract
ptrDisc = (Queue+10); //first position from I want to extract data

Dequeue(ptrDisc, len, Pckt, ind_pop, ind_push);

Я хочу, чтобы Pckt был полон моих данных "len", но я не могу получить данные. Если массив Pckt заполнен моими данными, если я использую в качестве первого параметра «QUeue». Возможно, ответ «Не возможно, потому что это круговой массив»?

1 Ответ

0 голосов
/ 18 октября 2019

Я не совсем понимаю вопрос, вы имеете в виду круговой массив, как в круговом связанном списке? Массивы выровнены по фиксированному объему хранилища не позднее инициализации локальных переменных в пределах блока во время выполнения и хранятся в сегменте данных, который не может изменить размер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...