Maximum size of the queue is fixed at the time of compilation, when the queue is represented using an array, this causes wastage of storage space. If the queue size is arbitrarily large and if less area us reserved for the queue then there will be a problem overflow.
In case if a queue using linked structure, no memory area is reserved in advanced. Memory for a node is acquired during run time, whenever a fresh insertion is to be made. There is no problem of overflow. As long as the system has free memory it can be given for a queue element.
Array representation is simple to implement whereas the linked representation requires additional knowledge of linked list and dynamic data structure. Many programming languages do not support dynamic data structure.
In linked representation, additional memory is required to store the address of next element. There is no such requirement in case of array representation of a queue, as array is stored in contiguous memory location.