如何判断一个队列是空队列？请用C语言编写一个函数，判断队列是否为空，要求返回值类型为布尔值。请按照C99标准编写代码。
user
```c
#include <stdbool.h>

typedef struct {
    int *data;
    int head;
    int tail;
    int size;
} Queue;

// 初始化队列
void initQueue(Queue *q, int capacity) {
    q->data = (int *)malloc(capacity * sizeof(int));
    q->head = 0;
    q->tail = 0;
    q->size = capacity;
}

// 判断队列是否为空
bool isEmpty(Queue *q) {
    return q->head == q->tail;
}
```

上述代码中，我们定义了一个队列结构 `Queue`，并实现了 `isEmpty` 函数来判断队列是否为空。当队列的头部和尾部指针相同时，队列为空，此时 `isEmpty` 函数返回 `true`；否则返回 `false`。此代码遵循C99标准。
assistant