Very basic Integer queue in C
The delete function is not right. It is very non-optimal to shift every item by one index after each deletion. Imagine the queue has 1 million items and the deletion of front element is needed.

From Wikipedia:


  Fixed length arrays are limited in capacity, but it is not true that
  items need to be copied towards the head of the queue. The simple
  trick of turning the array into a closed circle and letting the head
  and tail drift around endlessly in that circle makes it unnecessary to
  ever move items stored in the array. If n is the size of the array,
  then computing indices modulo n will turn the array into a circle.


So, you should use a Circular buffer.

This video has a good explanation of queue and circular buffer: Data structures: Array implementation of Queue.