Добавление элементов в очередь
typedef struct node {
const void* ptr;
struct node* next;
} node_t;
typedef struct {
node_t* head;
node_t* tail;
} queue_t;
Задаю уже вопрос конкретно по некоторым моментам.Добавление в очередь.Хотел бы всё таки выяснить(queue_t* q и node_t* p - что значат буквы q и p после указателей?)
И всё таки что это за "поинтер"?(ptr)
Очень хотелось бы получить объяснение, как производится добавление эл-та в очередь именно в данном примере.Не совсем понимаю, что здесь происходит, анализируя этот фрагмент кода.
И спасибо большое за помощь по предыдущим вопросам.
int queue_push(queue_t* q, const void* ptr){
node_t* p = (node_t*)malloc(sizeof(node_t));
if(p != NULL){
p->ptr = ptr;
p->next = NULL;
if(q->head == NULL)
q->head = q->tail = p;
else {
q->tail->next = p;
q->tail = p;
}
}
return (p != NULL);
}