Помогите с выводом очереди

Написал очередь на массиве.Функция вывода не работает, но ошибок нет.

#define _CRT_SECURE_NO_WARNINGS
#include<Windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<time.h>
#define N 10

typedef struct queue 
{
    int qu[N];
    int tail, head;
}queue;
void  init(queue *q);
queue *createQueue(queue *q);
void enqueue(queue *q ,int value); 
int isEmpty(queue *q);
void printOut(queue *q);
int dequeue(struct queue *q);




int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    queue *q;
    int test[N];

    //createQueue(q);
    q = (queue*)malloc(sizeof(queue));
    init(q);
    printOut(q);

    for (int i = 0; i < N; i++)
    {
        enqueue(q, test[i]);
    }
    printOut(q);


    getchar();
    return 0;
}

void  init(queue *q)
{
    q->head = 1;
    q->tail = 0;
}
queue *createQueue(queue *q)
{
    q = (queue*)malloc(sizeof(queue));
    init(q);
    return q;
}
void enqueue(queue *q, int value)
{
    if (q->tail < N - 1)
    {
        q->tail++;
        q->qu[q->tail] = value;
    }
    else
        printf("Очередь полная");
    //return;
}
int isEmpty(queue *q)
{
    if (q->tail < q->head)
        return 1;
    else
        return 0;

}
void printOut(queue *q)
{
    int temp;
    if (isEmpty(q)) 
    {
        printf("Очередь пуста!\n");
        return;
    }
        for (temp = q->head; q <= q->tail; temp++)
        {
            printf("%d ", q->qu[temp]);
        }
        return;
    }


int dequeue(struct queue *q) {
    int temp1, temp2;
    if (isEmpty(q)) {
        printf("Очередь пуста!\n");
        return 0;
    }
    temp1 = q->qu[q->head];
    for (temp2 = q->head; temp2 < q->tail; temp2++) {
        q->qu[temp2] = q->qu[temp2 + 1];
    }
    q->tail--;
    return temp1;
}




Ответы (1 шт):

Автор решения: Harry

Ошибок нет? Вы уверены?

А сравнение в цикле?

for (temp = q->head; q <= q->tail; temp++)

Что с чем вы сравниваете, и что надо бы сравнивать?

Кстати, компилятор должен был ругнуться на то, что вы сравниваете указатель на queue с int, если только вы не выключили вывод всех предупреждений...

→ Ссылка