Вы никогда не заканчивали свой typedef.Вы, вероятно, хотели сделать:
typedef struct queue{
int count;
int first;
int last;
int *q;
} queue;
Вам необходимо определить псевдоним для вашего типа в конце typedef.Если у вас нет typedef, вы должны написать свои прототипы так:
void init_queue(struct queue *q);
// etc.