i = queue->used++ - а это разве была ошибка? i присваивается значение queue->used, а уже потом на единицу увеличивается queue->used.