BTNode *qu[MaxSize]请问这段是什么意思

void LevelOrder(BTNode *b) 
{
    BTNode *p;
    BTNode *qu[MaxSize];
    int front, rear;
    front = rear = -1; rear++;
    qu[rear] = b; while (front != rear) 
    {
        front = (front + 1) % MaxSize;
        p = qu[front];
        printf("%c", p->data);
        if (p->lchild != NULL) 
        {
            rear = (rear + 1) % MaxSize;
            qu[rear] = p->lchild;
        }
        if (p->rchild != NULL) {
            rear = (rear + 1) % MaxSize;
            qu[rear] = p->rchild;
        }
    }
}

图片说明
请问这一段代码具体是什么意思?

构建一个二叉树结点指针的数组,实现队列的数据结构,用于辅助二叉树的层次遍历。

结构体指针数组~~~~~~