Я пытаюсь создать priority queue
, используя массив очередей, причем каждый индекс массива является приоритетом.Я попробовал следующее решение,
Тип данных очереди содержит список массивов,
Queue *q_create(int size)
{
struct queue *p;
struct q_head *h;
int i;
if ((p = (struct queue *)malloc(sizeof(struct queue))) != NULL) {
p->size = size;
for (i = 0; i < PRIODIFF; i++) {
h = &(p->llist[i]);
h->head = NULL;
h->tail = NULL;
}
}
return p;
}
Я запутался в строке: h = &(p->llist[i]);
Я думал, что llist[i] = h
.Это еще один способ написать это на C?Я читаю это как h = the address of llist[i]
.Это правильно?
Спасибо